【发布时间】:2012-01-10 09:41:34
【问题描述】:
我目前在页面上运行 jquery Cycle,但不仅发现它体积庞大,而且还弄乱了我页面的其余部分。我正在编写一个简单的脚本,使其不再适合我的用途,它将获取单击的菜单项的 href,显示与其相关的 div,同时隐藏所有其他项。
jsFiddle:http://jsfiddle.net/THuST/
HTML(忽略我仅将<ul> 用于一个<li> 元素的事实 - 那里还有更多内容,但为简单起见,我省略了它们)
<div id="adSlideshow">
<div class="adSlideBox current" id="red">
<ul class="gallery" id="redGallery">
<li><img src="http://i.imgur.com/LMHtk.png" alt="Asics Folio Slide 1" title=""/></li>
</ul>
</div>
<div class="adSlideBox" id="yellow">
<ul class="gallery" id="yellowGallery">
<li><img src="http://i.imgur.com/X25M3.png" alt="Plants Plus Folio Slide 1" title=""/></li>
</ul>
</div>
<div class="adSlideBox" id="blue">
<ul class="gallery" id="blueGallery">
<li><img src="http://i.imgur.com/WyDQI.png" alt="" title=""/></li>
</ul>
</div>
</div>
<ul id="menu" style="list-style:none">
<li><a href="#asics">RED</a></li>
<span>\</span>
<li><a href="#plants">YELLOW</a></li>
<span>\</span>
<li><a href="#tooheys">BLUE</a></li>
</ul>
CSS
.adSlideBox {display:none;}
.adSlideBox.current {display:block;}
img {max-width:350px; max-height:350px}
#menu li {float:left; margin-left:2em}
jQuery
$("#menu a").click(function() {
var link = $(this).attr('href');
var showIt = $(".adslidebox a[href=" + link + "]");
var hideIt = $(".adSlideBox.current");
hideIt.fadeOut(100, function(){
hideIt.removeClass("current");
showIt.addClass("current");
showIt.fadeIn(100);
});
});
这是我第一次尝试从头开始编写脚本,所以请多多包涵。我认为我相对接近; .current div 成功淡出,但所选 div 不淡入,.current 类未切换。
【问题讨论】:
标签: jquery