问问题
2320 次
2 回答
5
几点:
jQuery
attr()
方法可用于获取href
任何元素上的任何属性,包括 , 。如果您将有多个
<a>
标签,则需要引用class
名称而不是ID
. 所以你会使用“。” 代替 ”#”。在您的情况下,它将.selector
代替#selector
.为了减少函数内部的语句数量
click
,可以将两个fadeIn()
具有相同时间间隔的函数组合起来,500
. 请注意,在这种情况下,您将使用“,”来分隔元素,.overlayInner
而.closepop
.由于您在灯箱中,因此假设您不想在单击链接时迁移到另一个页面。出于这个原因,您将需要使用
e.preventDefault
或return false;
作为函数内的最后一条语句。click
,e
将是传递给匿名的eventObject。'click', 'a.selector', function(e)
总而言之,这就是您的 javascript 的外观。
var href=$("a.selector").attr('href', 'country.php');
$(document.body).on("click", "a.selector", function(){
$(".overlayInner").load("'+href+'");
$(".overlayOuter").fadeIn(300);
$(".overlayInner, .closepop").fadeIn(500);
return false;
});
于 2012-05-09T01:37:58.103 回答
2
尝试这个:
$("a.selector").live("click", function() {
var url = $(this).attr('href');
$(".overlayInner").load(url);
return false;
});
<a class="selector" href="/country.php">Country</a>
<a class="selector" href="/pigs.php">Pigs</a>
如果您想获取显示“国家/地区”的内部文本或图像,您可以执行以下操作:
$("a.selector").live("click", function() {
var url = $(this).attr('href');
var img = $(this).html(); // But what do you want to do with it?
$(".overlayInner").load(url);
return false;
});
<a class="selector" href="/country.php"><img src="img.jpg" /></a>
于 2012-05-09T01:37:44.633 回答