Javascript Jquery脚本修改以添加淡入/淡出功能
好的,我从这个站点的另一个部分找到了这个脚本:Javascript Jquery脚本修改以添加淡入/淡出功能,javascript,jquery,fade,Javascript,Jquery,Fade,好的,我从这个站点的另一个部分找到了这个脚本: var divs = ["wrap20", "wrap21", "wrap22"]; var visibleDivId = null; function toggleVisibility(divId) { if(visibleDivId === divId) { visibleDivId = null; } else { visibleDivId = divId; } hideNonVisibleDivs();
var divs = ["wrap20", "wrap21", "wrap22"];
var visibleDivId = null;
function toggleVisibility(divId) {
if(visibleDivId === divId) {
visibleDivId = null;
} else {
visibleDivId = divId;
}
hideNonVisibleDivs();
}
function hideNonVisibleDivs() {
var i, divId, div;
for(i = 0; i < divs.length; i++) {
divId = divs[i];
div = document.getElementById(divId);
if(visibleDivId === divId) {
div.style.display = "block";
} else {
div.style.display = "none";
}
}
}
var divs=[“wrap20”、“wrap21”、“wrap22”];
var visibleDivId=null;
函数切换可见性(divId){
如果(visibleDivId==divId){
visibleDivId=null;
}否则{
visibleDivId=divId;
}
hideNonVisibleDivs();
}
函数hideNonVisibleDivs(){
变量i,divId,div;
对于(i=0;i
我能够成功地将这段代码实现到一个网站上,每当我点击一个独立的超链接时,它就会显示不同的图片组
为了使不同的元素淡入或淡出,需要对代码的哪一部分进行操作?尝试以下操作:
if(visibleDivId === divId) {
$(div).fadeIn(500);
} else {
$(div).fadeOut(500);
}
500是淡入应花费的毫秒数。
这里有一个关于JSFiddle的例子。
另一种可能是使用show(500)
和hide(500)
更新: 根据OP的评论,这里有一个版本可以通过CSS转换实现这种效果: HTML
<a href="#" id="a1" onclick="toggleVisibility('wrap20')">Click1</a>
<a href="#" id="a2" onclick="toggleVisibility('wrap21')">Click2</a>
<a href="#" id="a3" onclick="toggleVisibility('wrap22')">Click3</a>
<div>
<div class="wraps on" id="wrap20">
Image #1
</div>
<div class="wraps off" id="wrap21">
Image #2
</div>
<div class="wraps off" id="wrap22">
Image #3
</div>
</div>
这里不需要
显示
属性,它无论如何都不适合转换。您只需按需要显示所有div,并使用不透明度
属性隐藏和显示它们<代码>不透明度适用于过渡<代码>转换和不透明度
这两种状态在类中汇总,因此您不必在javascript中单独设置它们 试试这样的方法:
if(visibleDivId === divId) {
$(div).fadeIn(500);
} else {
$(div).fadeOut(500);
}
500是淡入应花费的毫秒数。
这里有一个关于JSFiddle的例子。
另一种可能是使用show(500)
和hide(500)
更新: 根据OP的评论,这里有一个版本可以通过CSS转换实现这种效果: HTML
<a href="#" id="a1" onclick="toggleVisibility('wrap20')">Click1</a>
<a href="#" id="a2" onclick="toggleVisibility('wrap21')">Click2</a>
<a href="#" id="a3" onclick="toggleVisibility('wrap22')">Click3</a>
<div>
<div class="wraps on" id="wrap20">
Image #1
</div>
<div class="wraps off" id="wrap21">
Image #2
</div>
<div class="wraps off" id="wrap22">
Image #3
</div>
</div>
这里不需要
显示
属性,它无论如何都不适合转换。您只需按需要显示所有div,并使用不透明度
属性隐藏和显示它们<代码>不透明度适用于过渡<代码>转换和不透明度
这两种状态在类中汇总,因此您不必在javascript中单独设置它们 一些非描述性用户好吧,我试过你的Jquery小提琴,那正是我要找的!感谢您的耐心和时间。一些无法描述的用户好的,我试过您的Jquery小提琴,这正是我要找的!感谢您的耐心和时间。不幸的是,没有。修改脚本的这一部分实际上使整个脚本变得无用。我所做的是在实际的网页上进行更改,而不是将其放在控制台上。我点击了链接,基本上什么也没有出现。嗯,不,我的意思是,在开发工具中(你可以通过右键点击并选择“inspect element”,这取决于你使用的浏览器),有Javascript控制台,显示错误消息,消息通过console.log()
等等。如果在重新加载页面或触发事件后出现任何东西,这通常对调试非常有帮助。你能看一下吗?好的,明白了。我运行了开发工具,在更改为建议的淡入淡出条目后,调试器告诉我,“$”未定义,其中显示“$(div).fadeout(500);我引用的一个站点,其源代码我复制到了我的本地机器上,是这样的:这意味着你没有激活Jquery。事实上,到目前为止,你的所有代码都没有使用它,尽管你将问题标记为Jquery。要使用它,请在头部包含
。不幸的是,没有。修改脚本的这一部分实际上会使整个脚本呈现给我们没有。我所做的是在实际的网页上进行更改,而不是将其放在控制台上。我单击了链接,但基本上什么也没有出现。嗯,不,我的意思是,在开发工具中(您可以通过右键单击并选择“inspect element”,这取决于您使用的浏览器)还有Javascript控制台,显示错误消息,消息由console.log()显示
等等。如果在重新加载页面或触发事件后出现任何东西,这通常对调试非常有帮助。你能看一看吗?好的,我运行了开发工具,在更改为建议的淡入淡出条目后,调试器告诉我,“$”未定义,其中显示“$(div).fadeout(500);”。我引用了一个站点,并将其源复制到了本地计算机上,它是这样的:这意味着您没有激活Jquery。事实上,到目前为止,您的代码都没有使用它,尽管您将问题标记为jquery。要使用它,请在头部添加
。