我有4个链接。其中3个应该是可见的,但是每当其中一个被点击时,第4个应该出现。如果前3个中的任何一个被按下,任何东西都不应该改变,但如果第4个(第一次点击时出现的那个)被点击,它应该消失,并且应该只有3个。关于如何做的任何想法?可能它会使用JQuery完成?!点击添加附加菜单项
回答
一组链接:
<div>
<a href='#' id='link1' onclick='toggle(this)'>link 1</a>
<a href='#' id='link2' onclick='toggle(this)'>link 2</a>
<a href='#' id='link3' onclick='toggle(this)'>link 3</a>
<a href='#' id='link4' style='display:none' onclick='toggle(this)'>link 4</a>
</div>
使用JavaScript:
var disp = false;
function toggle(el) {
if (disp) {
if (el.id == 'link4') {
document.getElementById('link4').style.display='none';
disp = false;
}
} else {
if ((el.id == 'link1') || (el.id == 'link2') || (el.id == 'link3')) {
document.getElementById('link4').style.display='block';
disp = true;
}
}
}
当你点击任何第3个环节的,第4会出现,当你点击它4(4链接)就会消失。
编辑:根据要求,here是与衰落相同的演示。至于代码的HTML是相同的,jQuery代码是:
var disp = false;
function toggle(el) {
if (disp) {
if (el.id == 'link4') {
$('#link4').fadeOut();
disp = false;
}
} else {
if ((el.id == 'link1') || (el.id == 'link2') || (el.id == 'link3')) {
$('#link4').fadeIn();
disp = true;
}
}
}
这工作完美,谢谢! – kokozz
任何想法添加什么,所以它fadesin而不是刚刚出现? – kokozz
@kokozz,是的,它需要你使用JQuery而不是纯JavaScript,我会做一个新的演示,并在编辑中添加新的代码。 – user3507600
给第三和第四链路的ID和设置样式visibility: hidden;
然后使用JQuery:
var 3rdLink = $("#3rdLinkId"),
4thLink = $("#4thLinkId"); //just good practice
3rdLink.on('click', function(event){
event.preventDefault(); //just in case it's a hyperlink
4thLink.css('visibility', 'visible');
)};
你有很多选择使用JQuery显示元素,这一切都非常的方便。
但是真的,这是全部的地方。一个简单的谷歌搜索就足够了
不确定这是否是预期的行为,但可见性不会从仅隐藏该页面的页面中删除该元素(即,它仍然会影响其他页面元素,因为它仍占用它将占用的空间(如果它可见)。 - 不是说答案不对,我只是想澄清一下行为。 – JRulle
正确。调整可见性属性是使事件上的元素_appear_最基本的方法。考虑到这个问题的非常模糊的规格,我认为这是一个适当的选择建议。 –
如果你的链接看起来是这样的:
<a href="#" class="show" onclick="show4()" >link 1</a>
<a href="#" class="show" onclick="show4()" >link 2</a>
<a href="#" class="show" onclick="show4()" >link 3</a>
<a href="#" id="link4" class="hide" onclick="hide4()" >link 4</a>
您可以使用此:
<style>
.hide {display: none;}
.show {display: block;}
</style>
<script>
function show4()
{
document.getElementById('link4').style.display = "block";
}
function hide4()
{
document.getElementById('link4').style.display = "none";
}
</script>
你也可以编写JavaScript来改变类名,像这样'document.getElementById('link4')。className =“[hide | show]”;' – JRulle
比方说,你的HTML看起来像这样
<div id="link-container">
<a href="#">link1</a>
<a href="#">link2</a>
<a href="#">link3</a>
<a href="#">link4</a>
</div>
的CSS
#link-container a:last-child{display:none}
的Javascript使用jQuery框架
$(function(){
$('#link-container').on('click', 'a',function(e){
var $t = $(this),
$last = $t.siblings('a').addBack().last();
if($last[0] != this){
$last.toggle();
}
});
});
小提琴here
- 1. 将点击事件添加到编程添加的菜单项
- 2. 单击包时添加菜单项
- 3. 添加上附加菜单的WhatsApp
- 4. 添加新项目到Awesomium(Rigth点击)上下文菜单
- 5. 当菜单项被点击时,将类添加到div
- 6. 将点击事件添加到菜单项
- 7. Jquery添加HTML并使用点击附加项目删除
- 8. 引导下拉菜单,菜单项添加文本字段点击
- 9. 点击菜单项
- 10. FusionInvoice添加菜单项
- 11. 添加操作菜单项
- 12. 添加菜单选项卡?
- 13. 附加到点击
- 14. VS2008加载项添加到菜单
- 15. 的Lotus Notes,请点击附加文件,而不是从菜单
- 16. 删除点击附加项目与jQuery
- 17. Jface TreeViewer添加右键单击菜单,具体取决于点击节点
- 18. WPF菜单 - 中级菜单项点击
- 19. 右键单击Java中的Swing节点添加JPopup菜单
- 20. 将菜单添加到加载项中的Visual Studio菜单栏
- 21. 如何添加新的项目,弹出菜单中单击
- 22. 右键单击上下文菜单 - 添加新项目
- 23. 添加选项在Firefox中的右键单击菜单
- 24. 如何添加Windows右键单击上下文菜单项?
- 25. 将右键单击菜单项添加到图片框
- 26. 在QTreeView中为特定项目添加右键单击菜单
- 27. 如何添加选项菜单项?
- 28. 将菜单选项添加到电子邮件附件
- 29. 如何添加actionListner在menubar.When菜单(不是菜单中的菜单项)我点击我要到其他框架
- 30. 在点击菜单选项
你试过什么吗?我会说是的,我有一些想法。是的可能与jQuery。或者42也许。顺便说一下,我想致富,任何人都可以帮助我?我认为它应该涉及工作,你觉得怎么样?努力工作好吗? –