在浏览器调整大小时更改超链接位置
Change Hyperlink location on browser resize
我试图在浏览器调整大小时更改超链接指向的位置,但我要么阻止所有链接,要么不阻止
var $w = window.innerWidth || document.documentElement.clientWidth;
if ($w > 1025) {
$('a.something').each(function (e) {
e.preventDefault();
location.href = "/products.html";
});
} else {
$('a.something').each(function (e) {
e.preventDefault();
location.href = "javascript:void(0);";
});
}
if ($w > 1025) {
$('.mainMenu > li').unbind().hover(function () {
$(this).find('.subMenu').stop().slideToggle(400);
});
} else {
$('.mainMenu > li').unbind().click(function (e) {
$(this).find('.subMenu').stop().slideToggle(400);
});
}
每次调整大小时都要对DOM进行多次更改,这可能代价高昂,而且会降低网站的运行速度。我建议让功能根据浏览器的大小来决定要采取什么行动。
$(document).on('click', 'a[href]', function (e) {
var width = window.innerWidth || document.documentElement.clientWidth;
if (width < 1025) {
e.preventDefault();
}
});
这只会在视图大小较小(低于1025px)时阻止链接。
$('.mainMenu > li').on('hover click', function () {
$(this).find('.subMenu').stop().slideToggle(400);
});
您可以同时执行两个绑定。如果你真的需要,你可以把上面的If放在这个块里,但我认为在大多数情况下,你都可以保持原样。
相关文章:
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 用超链接替换URLS
- 使用JavaScript从超链接加载时的默认下拉值
- Hammer.js阻止在Android Webview中点击超链接
- 将超链接添加到“;标题“;标记文本
- 文本建议的超链接
- 用Javascript按钮替换Javascript超链接
- 删除默认的ui超链接行为
- 谷歌将广告超链接映射到国家标记
- 如何在点击超链接时调用fullcalendar回调
- 单击“禁用其他超链接”
- 为Angularjs制作超链接
- 为什么首先单击文档空白处的任何位置启动代码,而不是单击超链接,以及为什么打开了太多选项卡
- 在浏览器调整大小时更改超链接位置
- 谷歌表单:在文档的电子邮件中包含超链接'谷歌硬盘的位置
- 使用JavaScript和html将图像和超链接从一个位置随机移动到另一个位置
- 滑动以重定向到类next的超链接的href位置
- 如何使用jQuery找到所有超链接元素的绝对位置?
- Javascript将网络位置的所有实例替换为超链接