Javascript在href onclick之后重置CSS值
javascript resets the css value after a href onclick
这是我调用函数的HTML行:
<a href="" onclick="showMe(0);">Oranges</a>
这是javascript:
function showMe (whichClass) {
var fruitShow = document.getElementsByClassName('fruit')[whichClass];
fruitShow.style.display = 'inline';
}
当我点击链接并显示水果时,它会工作,但它会消失。当网站加载时,所有的水果都设置为显示:没有,我不确定它是否恢复或其他事情正在发生。我还尝试在函数调用之前使用return (return showMe(1);)
单击链接将触发重新加载页面。传递一个空值给href
相当于使用当前页面的URL。
有两种方法可以防止页面跟随链接:
-
将"
href
"改为""#"
"。这将使页面跳转滚动到顶部,所以你可能不得不做下一个选项。 -
通过
event.preventDefault()
停止默认行为。默认行为是加载URL。你可以通过事件对象来防止:onclick="event.preventDefault();showMe(0)";
(注意:虽然这可以工作,但有更好的方法来绑定事件处理程序)
-
更好的是:不要使用链接(因为你没有链接到任何东西),使用
<button>
代替。
尝试将锚点href从""
更改为#
。
<a href="" onclick="showMe(0);">Oranges</a>
<a href="#" onclick="showMe(0);">Oranges</a>
或者
<a href="" onclick="showMe(0);">Oranges</a>
更改为this(防止跳转)
<a href="#void" onclick="showMe(0);">Oranges</a>
只是有一个提示,但正如已经指出的,在这种情况下使用按钮是一个更好的解决方案。
相关文章:
- Jquery添加一个类之后,如何应用css
- 每次在动画之后完全删除该元素.- 仅使用 CSS
- Javascript:在css动画之后继续执行
- 在.slideToggle()之后改回css
- CSS不适用于(在第一页之后)尝试使用javascript打印html页面
- CSS :悬停在 jquery load();之后不起作用
- CSS 在 .after() 之后不起作用
- 如何在 ajax 调用之前和之后更改 css 属性(如光标:等待或背景)
- 将 propertey 之后的 CSS 转换为 jQuery
- 使用JavaScript修改CSS选择器:之后
- 更新CKEditor'在实例已经创建之后,通过JavaScript创建的CSS
- 更改每个 H4 标签之后的第一个 p 标签的 CSS
- ontransitionend在CSS translate3d之后没有绑定
- 在CSS/JS中指定元素之后的目标元素
- 在css加载之后、图片下载之前运行代码
- Javascript在href onclick之后重置CSS值
- 在编译完文件中的所有CSS和另一个文件中的JS之后,接下来的步骤是什么?
- 在长时间执行过程之前和之后使用Jquery更改元素css
- 在ajax $.get_之后刷新javascript和CSS
- 在用javascript添加了id和css之后,Firefox只解释文本颜色