大家好,对于这个问题很抱歉,但我不是JavaScript专家。
我正在尝试将Cookie警报框添加到我的网站,并且我想在用户单击按钮时以及在50像素后滚动页面时设置Cookie。我编写了这两个函数,但我不知道如何链接它们!
$(document).ready( function(){
$('.cookies-eu-ok').click(function(e){
e.preventDefault();
$.cookie('cookie_eu_consented', 'true', { path: '/', expires: 365 });
$('.cookies-eu').remove();
});
});
$document.scroll(function() {
if ($document.scrollTop() >= 50) {
e.preventDefault();
$.cookie('cookie_eu_consented', 'true', { path: '/', expires: 365 });
$('.cookies-eu').remove();
}
});
最佳答案
您可以执行以下操作:
var setCookie = function() {
$.cookie('cookie_eu_consented', 'true', {
path: '/',
expires: 365
});
$('.cookies-eu').remove();
};
var $document = $(document); // Caching
$document.ready(function() {
$('.cookies-eu-ok').on('click', function(e) {
e.preventDefault();
setCookie();
});
});
// Run only once until cookie is set
$document.on('scroll', function(e) {
if ($document.scrollTop() >= 50) {
e.preventDefault();
setCookie();
$document.off('scroll');
}
});
为通用功能创建单独的功能
将事件链接到相同的元素
缓存
$(document)
使用
on
代替click
。 Click
调用on
内部关于javascript - 聚合两个javascript事件函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30504343/