我正在製作一張幻燈片,每張幻燈片上的鏈接都會觸發滑動動作。但我無法弄清楚如何讓第一張幻燈片出現在加載頁面上,所以爲了使它工作,我不得不使第一張幻燈片可見,其他隱藏,這不是一個真正的修復,只是讓我可以繼續工作,所以我需要去改變它如何在jQuery div滑塊上顯示第一張幻燈片
這裏是小提琴
http://jsfiddle.net/Paula/XmeGN/10/
另外,我可以把它滑到左邊,而不是權利。
謝謝大家的幫助!
HTML
<div id="banner_container" style="min-height:160px; clear:both;">
<div id="banner_wrapper">
<div class="banner_panel2" id="target1">
<a href="#target1" class="banner_panel">Target 1</a><br/>
<a href="#target2" class="banner_panel">Target 2</a><br/>
<a href="#target3" class="banner_panel">Target 3</a><br/>
Target 1
</div>
<div class="banner_panel" id="target2">
<a href="#target1" class="banner_panel">Target 1</a><br/>
<a href="#target2" class="banner_panel">Target 2</a><br/>
<a href="#target3" class="banner_panel">Target 3</a><br/>
Target 2
</div>
<div class="banner_panel" id="target3">
<a href="#target1" class="banner_panel">Target 1</a><br/>
<a href="#target2" class="banner_panel">Target 2</a><br/>
<a href="#target3" class="banner_panel">Target 3</a><br/>
Target 3
</div>
</div>
</div>
的javascript:
jQuery(function($) {
$('a.banner_panel').click(function() {
var $target = $($(this).attr('href')),
$other = $target.siblings('.active');
if (!$target.hasClass('active')) {
$other.each(function(index, self) {
var $this = $(this);
$this.removeClass('active').animate({
left: $this.width()
}, 500);
});
$target.addClass('active').show().css({
left: -($target.width())
}).animate({
left: 0
}, 500);
}
});
});
CSS:
* {
margin:0;
padding:0;
list-style:none;
}
#banner_container {
width:880px;
position:relative;
background-color:#E6E6E6;
margin:30px;
background-image: linear-gradient(bottom, rgb(207,207,207) 22%, rgb(247,247,247) 82%);
background-image: -o-linear-gradient(bottom, rgb(207,207,207) 22%, rgb(247,247,247) 82%);
background-image: -moz-linear-gradient(bottom, rgb(207,207,207) 22%, rgb(247,247,247) 82%);
background-image: -webkit-linear-gradient(bottom, rgb(207,207,207) 22%, rgb(247,247,247) 82%);
background-image: -ms-linear-gradient(bottom, rgb(207,207,207) 22%, rgb(247,247,247) 82%);
background-image: -webkit-gradient(
linear,
left bottom,
left top,
color-stop(0.22, rgb(207,207,207)),
color-stop(0.82, rgb(247,247,247))
);
border:1px #CCC solid;
border-radius:10px;
-moz-border-radius:10px;
padding:20px 10px 10px 10px;
overflow:hidden;
}
#banner_wrapper{
width:890px;
position:relative;
z-index:5;
}
div.banner_panel {
position: absolute;
height: 100%;
width: 100%;
display:none;
}
div.banner_panel2 {
position: absolute;
height: 100%;
width: 100%;
}
你能解釋爲什麼這不是一個真正的修復?另外,你的小提琴中的代碼非常混亂。它總是值得將其剝離到最低限度,以便我們可以看到核心功能 - 我們不關心花哨的CSS - 這使得它更難以閱讀! – jaypeagi
這裏是儘可能清潔的代碼http://jsfiddle.net/Paula/XmeGN/12/ 它不工作,因爲它是,如果您單擊任何幻燈片以外的第一個,幻燈片將顯示盈方第一張幻燈片,但第一張幻燈片永遠不會消失。我不知道它是否有任何意義,但如果你玩的代碼,你會明白我的意思:) – Paula