【发布时间】:2012-02-12 15:15:26
【问题描述】:
我的代码加载文件有延迟。我必须点击<a href="#string" id="hash"></a>
两次使其显示 .txt 文件。
代码:
<script type='text/javascript'>
$(document).ready(function(){
$("a#hash").click(function(){
var loc = $(window)[0].location;
var getUrlString = $(loc).prop('hash').substr(1);
$("p").load(getUrlString + '.txt');
});
});
</script>
<body>
<p>This is a placeholder for your content</p>
<a id="hash" href="#login">Login</button><br />
<a id="hash" href="#register">Register</button><br />
<a id="hash" href="#recovery">Recovery</button>
</body>
例如,如果我在第一次加载页面时单击登录 - 它不会显示任何内容。 如果我在单击登录后单击注册-它将显示登录。 如果我在点击注册后点击恢复 - 它会显示注册,但如果我再次点击恢复,它最终会显示恢复。
对不起,我的英语不好,或者很难理解我的问题。我还在学习 jQuery,如果我自己尝试/失败,我会发现学习起来更容易,然后找出问题所在。光看教程就不一样了:)
谢谢。
【问题讨论】:
-
首先改变'id'。不能调用同一个ID。使用类!
-
你不要那样使用
id;它们必须是唯一的,即对于整个文档中的 any 元素,相同id的实例不超过一个。所以<a id="hash"应该改成<a class="loader"和$('a#hash')改成$('a.loader')。