gpt4 book ai didi

jquery SlideDown 只能运行一次

转载 作者:行者123 更新时间:2023-12-01 06:10:41 31 4
gpt4 key购买 nike

我正在使用 jquery 制作一个向下滑动的菜单。该代码在页面第一次加载时完美运行。但是,slideDown(单击功能的基本部分)对于每个菜单项只能运行一次。这是一个 js fiddle 示例 http://jsfiddle.net/74ser/ 。任何帮助将不胜感激。

$(document).ready(function() {
$('.options').live('click',function() {
console.log(this);
var current = this.innerHTML;
var list = listOfeverythingBut ("options", this);
console.log(list);
var stringA = new Array() ;
var stringUl = new Array();
for (var i =0; i < list.length; i++){
var item ="."+list[i].innerHTML+"Menu";
if ( $(item).length === 1){
stringA.push("ul"+ item );
stringUl.push(item + " a");
}
}
stringA = stringA.toString();
stringUl = stringUl.toString();
console.log(stringA);
console.log(stringUl);
var currentItem = "." + current + "Menu";
console.log(currentItem);
if ( $(currentItem).length === 1){
console.log("inOf");
var toSlideDown = 'UL' + currentItem;
console.log(toSlideDown);
console.log($(toSlideDown));
$(toSlideDown).slideDown('medium');

}
else {
$(".bottom").slideUp(20);
$('.homeContent').delay(30).fadeIn(30);
}
$(stringUl).slideUp('medium');
moveDiv(this);
$(stringA).removeClass('press');

$('.options').removeClass('largeMenuStyle');
$(this).addClass('largeMenuStyle');

//setTimeout( function(){moveDiv(this)}, 2000);
});
});

注意:基本代码位于if ( $(currentItem).length === 1) 中。我知道它会进入 if,因为每次运行代码时它都会 console.logs 'inOf'。即使它具有正确的“toSlideDown”变量,它仍然无法多次工作。

我已经引用过这些论坛主题,但还没有找到答案。

Jquery only works once per page load - want it work more than once without having to reload page

JQuery click event works only once

最佳答案

很抱歉,您的代码非常棘手,而且 HTML 结构非常错误。

尝试我的热修复:http://jsfiddle.net/jvLJs/1/

 $(toSlideDown + ' a').show();
$(toSlideDown).hide().slideDown('medium');

关于jquery SlideDown 只能运行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14260961/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com