因此,当您单击触发显示它们的事件的相应链接时,我有一些图像位于设置为隐藏的页面上方,显示继承。
现在,这就是我的问题所在。说我给图像分配了一个“示例”的ID - 当有人进入带有哈希标记#example的网站或点击带有哈希标记的链接时,有什么方法#在url中的示例,该事件将触发具有相同ID的图像?我真的很难过这个
我一直在使用的是:
$("#activate1").click(function () {
$("#flyer1").css("display", "inherit");
});
哪个工作正常,但现在我必须每周添加传单,这意味着我需要更改它,除非我想为每个独特的案例编写上述代码。但最重要的是,我现在还必须通过链接将它们发送给人们,因此脚本现在必须在他们点击链接时触发 - 我认为解决这个问题的最佳方法可能是实现哈希标记触发器
答案 0 :(得分:4)
$(function() {
$('#example').on('click', function() {
alert('was triggered');
});
$(window.location.hash).trigger('click');
});
答案 1 :(得分:2)
要激活页面中包含散列标记的所有链接而不编码任何特定名称,您可以执行以下操作:
$('a[href*="#"]').on('click', function(e) {
var match = this.href.match(/#[^#]+$/);
if (match) {
// trigger a click on the object that has an id
// matching the hash value in the link
$(match[0]).trigger('click');
return(false); // no default processing for the link
}
});
要处理初始链接上的哈希标记,您可以运行以下代码:
$(document).ready(function() {
if (window.location.hash && window.location.hash != "#") {
$(window.location.hash).trigger('click');
}
});
答案 2 :(得分:0)
插件是你的朋友。一个快速的谷歌显示,本·阿尔曼的jQuery BBQ图书馆可以带给你一个乐于助人的手!
(不相关:带有很酷名字的jQuery库对你未来的项目来说是一个很棒的补充!)