HTML:
<div class="container-fluid">
<div class="sidebar">
<ul class="pills">
<li id="l1"><a id="link1">Lesson 1</a></li> <hr>
<li id="l2"><a href="#" >Lesson 2</a></li> <hr>
<li id="l3"><a href="#" >Lesson 3</a></li> <hr>
</ul>
<div class="span16" id="target">
</div>
使用Javascript:
$('#l1').click(function(){
$('#target').fadeOut('fast', function(){
$('#target').load("lesson/lesson1.html", function(){
$('#target').fadeIn('slow');
});
});
});
我的网页中有5个链接,我想知道是否还有一段代码而不是复制+粘贴多次。
答案 0 :(得分:5)
$('a.AjaxLink').click(function(){
var url = this.href;
$('#target').fadeOut('fast')
.load(url, function(){ $(this).stop(true, false).fadeIn('slow'); });
});
return false;
});
此代码处理类<a>
的所有AjaxLink
的点击事件。
在点击处理程序中,它抓取href
,淡出#target
,然后执行AJAX加载。
当AJAX加载完成时,stops the animation(如果AJAX比淡入淡出更快),则将其淡入。
最后,它告诉浏览器不要通过返回false来采取默认操作(导航到页面)。
答案 1 :(得分:0)
使用class
代替id
。使用class
选择元素
您也可以使用.each()
方法
答案 2 :(得分:0)
您可以使用新的jQuery方法执行此操作。鉴于此HTML:
<a class="hello" href="#">Hello</a>
<a class="goodbye" href="#">Goodbye</a>
<div id="target"></div>
您将使用此代码:
jQuery.fn.switchTarget = function( target, href ) {
var $target = $(target);
this.bind( 'click', function(e) {
e.preventDefault();
$target.fadeOut('fast', function() {
$target.load( href, function() {
$target.fadeIn('slow');
});
});
});
return this;
};
$('.hello').switchTarget( '#target', 'hello.html' );
$('.goodbye').switchTarget( '#target', 'goodbye.html' );