这是我的第一个代码:
$j('.toggle').delegate('','click',function(e){
e.preventDefault();
});
这阻止了我的标签做任何事情。
现在我想要这样的函数:
$j('.toggle').delegate('','click',function(e){
banner();
});
if(x)
{
banner();
}
function banner()
{
e.preventDefault();
}
但我现在不能使用这个事件,我该如何解决?
修改
感谢您的回复,但我以另一种方式解决了我的问题。 如果您有兴趣,这是代码。 隐藏横幅时,横幅将隐藏在所有页面上,检查cookie。 当您再次打开它时,它将在所有页面上保持打开状态。
// Set cookie if there is no cookie
if(getCookie() != 0 && getCookie() != 1)
{
setCookie(1);
}
// Close the banner if cookie = 0 when page loads
if(getCookie() == '0')
{
closeBanner();
}
// Set the cookie
function setCookie(status) {
$j.cookie('status', status, { path: '/', expires: 100 });
return false;
}
// Get the cookie
function getCookie() {
//console.log($j.cookie('status'));
return $j.cookie('status');
}
// Close and open the banner on click
$j('.toggle').delegate('','click',function(e){
e.preventDefault();
if(getCookie() == 1)
{
setCookie(0);
closeBanner();
} else if(getCookie() == 0)
{
setCookie(1);
openBanner();
}
});
// Close the banner
function closeBanner()
{
var src = $j('#img_lipke').attr("src").replace("lipske", "lipske_down");
$j('#img_lipke').attr("src", src);
$j('#bannerbottom').css('margin-top','5px');
changeBanner();
}
// Open the banner
function openBanner()
{
var src = $j('#img_lipke').attr("src").replace("lipske_down", "lipske");
$j('#img_lipke').attr("src", src);
$j('#bannerbottom').css('margin-top','0');
changeBanner();
}
// Open or close the banner
function changeBanner(e)
{
$j('#banner').animate({
height: 'toggle'
}, 800, function() {
// Animation complete.
});
}
答案 0 :(得分:2)
只需在致电preventDefault
banner
即可
$j('.toggle').delegate('','click',function(e){
banner();
e.preventDefault();
});
答案 1 :(得分:2)
我不确定你要完成什么,但如果你想在banner
函数中使用事件对象,只需传递它。
$j('.toggle').delegate('','click',function(e){
banner(e); // pass "e" as argument
});
function banner(e) {
e.preventDefault();
}