昨天晚上我发现了jQuery,它看起来非常好!我使用它来显示/隐藏div ID,点击作为触发器来显示最初隐藏在页面上的div ID。这工作得很好,我很自豪:-)jQuery隐藏/显示
但是,我有一个问题:点击一个触发器后,我希望它成为隐藏。 所以我尝试添加一行来隐藏触发器onclick
,但不仅如此,现在最初隐藏的div显示在我加载页面时。
这就是我最初尝试:
$(document).ready(function() {
$(‘#showhidetarget’).hide();
$(‘a#showhidetrigger’).click(function() {
$(‘#showhidetarget’).show(200);
**$(‘a#showhidetrigger’).hide();**
});
});
现在有人建议,或许我不能隐藏的触发器,因为它是一个内联元素(我不知道任何事情)。他建议把触发器放在另一个div ID本身,这是有道理的。所以定义一个名为“hideafterclick”,其中包含了一个触发ID的其他DIV后,这是代码的样子:
$(document).ready(function() {
$(‘#showhidetarget’).hide();
$(‘a#showhidetrigger’).click(function() {
$(‘#showhidetarget’).show(200);
**$(‘#hideafterclick’).hide();**
但与同样遗憾结果:初始部分(触发)不隐藏,而应该隐藏的div立即可见onload
,而它应该被隐藏。当我删除包含.hide的粗体行时,该过程完美地工作。
关于我在做什么的任何建议是错误的?或者如何解决这个问题? 只需完成:“部分”(div)包含代码和超链接。其实点击第一部分(触发器)启动一个新窗口并显示第二部分,这工作正常。只是第一部分(触发器)随后必须隐形...
谁能帮助我?
我应该使用除div外的其他东西吗?
预先感谢你的智慧和帮助,
托马斯(比利时)
亲爱Shikiryu,亲爱的DavidYell,
感谢您jsFiddles很多:我不知道关于jsFiddle,但它是惊人的,如此完整,如此清晰而又如此简单!
有时候,幸福可以在一个看似不重要的小细节中找到。因为在最后,我所做的就是做一个小的修改...
我有什么最初写在包含在href的触发部分,是这样的:
<a id="showhidetrigger" href="HYPERLINK"> blabla</a>
并可根据您的例子,我最终改变了标签的ID的位置,所以就成了:
<a href="HYPERLINK" id="showhidetrigger">blabla</a>
不要问我为什么,我仍然不知道有什么区别究竟,但现在它像一个魅力,这就是重要的!当然,HYPERLINK这个部分在我的情况下很长,它属于一个CFOutput,有很多标签和查询,它包含另一个javascript来打开弹出窗口中的链接等等......所以也许这就是第一个出错的地方地点。
我很高兴,感谢您的协助!
感激你的,
托马斯
大家好, 非常感谢你的答案为止! 关于撇号:我使用了通用的'ones'好吧,似乎从邮件窗口复制它时,他们改变了,但它们在代码本身中是正常的,所以问题不存在。 关于**星号:我只是简单地把它们放在指向哪里出错的部分。对不起,如果这造成了混淆,我已经明白**会使这一行大胆,我的错误。但无论如何,代码本身没有星号。 只要我不添加最后一行,它就完美地工作:onclick
触发器的href
打开(在新窗口中,使用JavaScript),并且(最初隐藏的)目标div变为可见。但是,当我试图隐藏一个触发器时,目标div在onload上可见,并且一个触发器不被隐藏onclick
。所以然后我绑在另一个div id围绕包含触发器的代码,但结果相同。
亲爱的Davidyell,谢谢你的建议。我会试着看看它是否有效,我会让你知道。我正在处理的页面非常复杂,在ColdFusion中(我不知道ColdFusion),触发器,带有javascript弹出窗口的href等......都在CF输出中。我希望我能看到“森林里的树木”(自由翻译佛兰德语的谚语:-)
我会告诉你!
亲切的问候,
托马斯(比利时)
你能显示HTML代码片段吗? – Chris 2011-01-20 09:20:06