1
因此,這主要適用於,但唯一可用的網址是指定爲「Blog」的網址。所有帶#的錨點引用都是平滑滾動的,但我網頁上的所有外部鏈接都沒有做任何事情。包含#時禁用href鏈接,但啓用所有其他
我可以用只包含帶「#」的href鏈接的方式寫預防默認值嗎?我在整個頁面中都有圖片鏈接,並且想要一個簡單的方法來管理它,而不是指出每個網址。
<ul class="snip1143">
<li class><a href="#home1" data-hover="Home">Home</a></li>
<li><a href="#about1" data-hover="About">About</a></li>
<li><a href="#experience1" data-hover="Work">Work</a></li>
<li><a href="URL HERE" data-hover="Blog">Blog</a> </li
<li><a href="#contact1" data-hover="Contact">Contact</a></li>
<script>
$(document).on('click', 'a', function(event) {
if($(this).data('hover') !== "Blog"){
event.preventDefault();
$('html, body').animate({
scrollTop: $($.attr(this, 'href')).offset().top
}, 500);
});
</script>
的URL鏈接工作,但遺憾的是沒有滾動作品爲錨鏈接。 –
提醒我如果鏈接沒有指定'href',會發生什麼情況。我很確定這段代碼會拋出一個異常......特別是因爲你的目標是每個錨標籤。另外,爲什麼要使用'$(this).attr('href')'而不是'this.href'? jQuery所有的東西,我猜... .../ – canon
@SamT如果通過「沒有滾動工作的錨鏈接」你的意思是動畫的效果,這可能是因爲你是在文檔初步渲染後創建鏈接。真的嗎?如果是這樣,讓我知道,我會改變我的第一行('$('a')。on('click',function(e){')into'$(document).on('click',' a',function(event){'。 –