Я разрабатываю локальный сайт для создания контента, и я бы хотел использовать функцию двойного щелчка javascript.
Я бы хотел повернуть по полноэкранным фоновым изображениям, когда пользователь дважды щелкает за пределами div с именами/идентификаторами bigwrapper или bigwrapper2. Когда пользователь нажимает #bigwrapper или # bigwrapper2, я бы хотел его.toggle(); каждый из них скрывает/показывает один или другой.
Здесь мой обновленный код (спасибо lordvlad):
$(function() {
$( "#bigwrapper" ).draggable();
$( "#bigwrapper2" ).draggable();
var SacramentoBG = ['nightcap.jpg','Tower_Bridge_Sacramento_edit.jpg'],
counter =0;
$('html').dblclick(function (event) {
if (event.target.id != "bigwrapper" && event.target.id != "bigwrapper2") {
counter = (counter+1) % SacramentoBG.length;
$('html').css('background-image', "url("+SacramentoBG[counter]+")");
} else {
$("#bigwrapper").toggle();
$("#bigwrapper2").toggle();
}
});
});
UPDATE: решение, появившееся ниже, чтобы добавить "событие" внутри функции, частично помогло, так как фон вращается должным образом, однако #bigwrappers не переключаются по назначению (условие else). См.: http://artfuladvection.com/project/NOAA/ndfdGraph/bloom.php Идеи?
Благодарю!
Полный ответ, который работал для меня, состоял в том, что мне нужно было прекратить исключать определенные имена классов /ids и вместо этого исключать целые теги элементов. В качестве альтернативы, я мог бы просто использовать if (event.target.TagName == 'BODY') {}
$('body').dblclick(function (event) {
if (event.target.tagName != 'DIV' && event.target.tagName != 'IMG' && event.target.tagName != 'TABLE' && event.target.tagName != 'HR' && event.target.tagName != 'SMALL' ) {
counter = (counter+1) % SacramentoBG.length;
$('html').css('background-image', "url("+SacramentoBG[counter]+")");
} else {
$("#bigwrapper").toggle();
$("#bigwrapper2").toggle();
}
});
что, поскольку функция dblclick не знает о переменной event
. попробуй это
$('html').dblclick(function (event) {