这是我的网站http://www.alienchela.com/portfolio.html.
首先单击任何客户端图像即可.
但是,如果你每次点击下一个按钮,你就可以看到.首先是前一个图像,然后下一个图像加载.
这是代码:
var ticker = $('.img_wrap');
$('.next').click(function () {
$('.img_panel:visible').fadeOut(1000, function() {
$(this).appendTo(ticker);
ticker.children().first().show(function(){
var artit = $(this).attr('title');
$(this).load(artit+'.txt');
});
});
$(ticker).hide().delay(1500).fadeIn(1000);
});
Run Code Online (Sandbox Code Playgroud)
我做了一个黑客.我做了一些延迟过渡.
$(ticker).hide().delay(1500).fadeIn(1000);
Run Code Online (Sandbox Code Playgroud)
JS不是很好.
任何帮助表示赞赏.
干得好:
分析
1.初始状态
<div class="img_wrap">
<div class="img_panel" title="pixi">pixi</div>
<div class="img_panel" title="mus">mus</div>
<div class="img_panel" title="flash">flash</div>
<div class="img_panel" title="dir">dir</div>
<div class="img_panel" title="rpi">rpi</div>
<div class="img_panel" title="ac">ac</div>
<div class="img_panel" title="css">css</div>
<div class="img_panel" title="nagraj">nagraj</div>
</div>
Run Code Online (Sandbox Code Playgroud)
2.点击"AC"
<div class="img_wrap">
<div class="img_panel" title="pixi">
<img src="img/clients/ac/ac_top.jpg" width="1040" height="217" alt="aucourant"><img src="img/clients/ac/ac1.jpg" width="1040" height="502" alt="aucourant">
</div>
<div class="img_panel" title="mus">
<img src="img/clients/ac/ac_top.jpg" width="1040" height="217" alt="aucourant"><img src="img/clients/ac/ac1.jpg" width="1040" height="502" alt="aucourant">
</div>
<div class="img_panel" title="flash">
<img src="img/clients/ac/ac_top.jpg" width="1040" height="217" alt="aucourant"><img src="img/clients/ac/ac1.jpg" width="1040" height="502" alt="aucourant">
</div>
<div class="img_panel" title="dir">
<img src="img/clients/ac/ac_top.jpg" width="1040" height="217" alt="aucourant"><img src="img/clients/ac/ac1.jpg" width="1040" height="502" alt="aucourant">
</div>
<div class="img_panel" title="rpi">
<img src="img/clients/ac/ac_top.jpg" width="1040" height="217" alt="aucourant"><img src="img/clients/ac/ac1.jpg" width="1040" height="502" alt="aucourant">
</div>
<div class="img_panel" title="ac" style="display: block;">
<img src="img/clients/ac/ac_top.jpg" width="1040" height="217" alt="aucourant"><img src="img/clients/ac/ac1.jpg" width="1040" height="502" alt="aucourant">
</div>
<div class="img_panel" title="css">
<img src="img/clients/ac/ac_top.jpg" width="1040" height="217" alt="aucourant"><img src="img/clients/ac/ac1.jpg" width="1040" height="502" alt="aucourant">
</div>
<div class="img_panel" title="nagraj">
<img src="img/clients/ac/ac_top.jpg" width="1040" height="217" alt="aucourant"><img src="img/clients/ac/ac1.jpg" width="1040" height="502" alt="aucourant">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
说明
每个img_panel都有"AC"的标题图像.而且他们没有CSS display:none;,这意味着那些div是可见的.执行时
$('.img_panel:visible').fadeOut(1000, function() {
$(this).appendTo(ticker);
ticker.children().first().show(function(){
var artit = $(this).attr('title');
$(this).load(artit+'.txt');
});
Run Code Online (Sandbox Code Playgroud)
隐藏当前项目,然后显示下一个项目.在过渡期间,当前和下一个项目将被部分隐藏,并且背景div中的图像显示.
问题代码
$('.work li').click(function(){
var clientitle = $(this).attr('title');
$('.work').fadeOut(500), $('.big_images').delay(500).fadeIn();
$('.img_panel[title="'+clientitle+'"]').fadeIn();
var cltxt = clientitle+'.txt'
$('.img_panel').load(cltxt);
});
Run Code Online (Sandbox Code Playgroud)
解
// Only load data to active div
$('.img_panel[title="' + clientitle + '"]').load(cltxt);
Run Code Online (Sandbox Code Playgroud)
此外,最好这样做:
// Hide all divs
$('.img_panel').hide();
// Load and unhide active div
$('.img_panel[title="' + clientitle + '"]').load(cltxt).show();
Run Code Online (Sandbox Code Playgroud)
问题2
当您单击"AC"然后单击时Next,代码变为:
<div class="img_wrap" style="display: block;">
<div class="img_panel" title="pixi" style="display: block;">...</div>
<div class="img_panel" title="mus">...</div>
<div class="img_panel" title="flash">...</div>
<div class="img_panel" title="dir">...</div>
<div class="img_panel" title="rpi">...</div>
<div class="img_panel" title="css">...</div>
<div class="img_panel" title="nagraj">...</div>
<div class="img_panel" title="ac" style="display: none;">...</div>
</div>
Run Code Online (Sandbox Code Playgroud)
看,ac元素到了最后,使下一次迭代的顺序错误.
解
无需重新排列div元素.只需使用一组标题和一个索引来处理next和prev.
| 归档时间: |
|
| 查看次数: |
532 次 |
| 最近记录: |