我想在页面加载时显示加载图标。
我正在使用HTML,CSS和JS代码。
HTML:
<div class="loader-icon"></div>
JS:
$(window).load(function() {
$(".loader-icon").fadeOut("slow");
});
$('a').click(function(){
$(".loader-icon").fadeIn("slow");
})
和一些CSS显示div.loader-icon
的加载图标。
如果我点击任何重定向到另一个页面的链接,它工作正常。但是当链接没有重定向到另一个页面时它不起作用。就像我点击“返回顶部”图标一样,加载图标会一直显示。它不淡出。
假设:
<a href="http://example.com/page/">Page Now</a>
<a href="http://example.com/page/#">Back to Top</a>
<a href="http://example.com/page2/">Page Other</a>
它适用于'Page Other',但不适用于'Back to Top'。
所以我想为hrefs不以'#'结尾的锚点选择一个选择器。或者是否有更好的方法使用不同的简单技巧来做同样的事情?
答案 0 :(得分:4)
您是否需要担心其他网址,包括#?如果没有,您可以在此选择器上进行绑定:
a:not([href*='#'])
这只会定位URL中不包含#的链接。你也可以用这个
a:not([href^='#'])
定位任何不以#开头的链接和
a:not([href$='#'])
对于任何不以#结尾的链接。希望其中一个有帮助!
答案 1 :(得分:1)
您可以将ends with selector与Option Explicit
Sub CloseAll()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim wb3 As Workbook
Dim wb4 As Workbook
Dim wb5 As Workbook
Set wb1 = Workbooks("wb1.xlsm")
Set wb2 = Workbooks("wb2.xlsm")
Set wb3 = Workbooks("wb3.xlsm")
Set wb4 = Workbooks("wb4.xlsm")
Set wb5 = Workbooks("wb5.xlsm")
wb1.Close
wb2.Close
wb3.Close
wb4.Close
wb5.Close
not()
&#13;
$('a').not('[href$="#"]').on("click", function(e) {
$(this).toggleClass("active");
e.preventDefault();
});
&#13;
.active{ background-color: lime; }
&#13;
可以使用:not() selector,但引用jQuery的建议:
.not()方法最终会为您提供比将复杂选择器或变量推送到:not()选择器过滤器更可读的选择。在大多数情况下,这是一个更好的选择。
答案 2 :(得分:-2)
它不起作用,因为您在窗口加载时添加事件,这意味着如果您希望图标淡出,则需要刷新页面。
当您点击返回顶部链接时也添加该事件。
<a href="http://example.com/page/#" onclick="myFunct();">Back to Top</a>
...
function myFunct(){
$(".loader-icon").fadeOut("slow");
}