使用JavaScript/jQuery函数打开和关闭HTML功能
我有一个HTML功能(坠落物),它包括以下内容:使用JavaScript/jQuery函数打开和关闭HTML功能,javascript,jquery,html,button,toggle,Javascript,Jquery,Html,Button,Toggle,我有一个HTML功能(坠落物),它包括以下内容: <div id="elementsToScroll"> <marquee behavior=scroll direction=down scrollamount=2 scrolldelay=43 height=581 style='position:absolute; left:17%; top:23px; width:100; height:581px;'><font>$("#butt
<div id="elementsToScroll">
<marquee behavior=scroll direction=down scrollamount=2 scrolldelay=43 height=581 style='position:absolute; left:17%; top:23px; width:100; height:581px;'><font>$("#buttonID").click(function(){
$("elementsToScroll").toggle();
});
工作正常,但您需要使用jQuery,因为您发布的代码使用的是纯JavaScript,所以看起来您并不是在寻找jQuery。下面是两个使用和不使用jquery的示例:
JQuery方式(如@Dylan Anlezark所述)
普通JavaScript方式
<div id="elementsToScroll">
<marquee behavior=scroll direction=down scrollamount=2 scrolldelay=43 height=581 style='position:absolute; left:17%; top:23px; width:100; height:581px;'><font>The jQuery toggle
method should do it.
$(function() {
var elm = $('#elementsToScroll');
$('.grapes').on('click', function() {
elm.toggle();
});
});
假设您的HTML是按照您发布的方式设置的,那么除了onOffScroll
<button type="button" class="grapes">Grapes</button>
jQuerytoggle
方法应该可以做到这一点
无需在按钮上使用内联JavaScript:
抱歉,网速慢,谢谢,但仍然没有效果。我想我正在使用jQuery——我还尝试指定按钮的ID,并使用($(“#onOff”))在服务器或本地文件上进行测试?有时这些功能不起作用,除非它在服务器上(我相信这是一个安全功能)嗯,我在本地测试,但我迄今为止尝试的所有其他JavaScript都在本地工作,如果它真的能工作的话。。。目前正在考虑是否可以在服务器上进行测试,但我认为这只是针对jQuery的。jQuery在本地对我从来都不起作用,因为Javascript代码中有额外的}),所以我猜您遗漏了一些重要的内容。您的函数周围是否有document.ready代码?现在我们开始document.ready使函数不在全局范围内…删除document.ready,这里不需要它。@epascarello谢谢,我刚刚尝试将其取出,但没有效果。什么时候有必要?那么,为了澄清一下,我会使用jQuery还是JavaScript,但在这两种情况下都添加函数代码?我是否需要在.js文档中添加其他内容,或者仅在上面添加?我试过几种组合,但都不管用。有人建议在服务器上测试(而不是在本地),但我的大多数JS在测试时都在本地工作。。。非常感谢您的时间,如果您愿意的话。如果使用普通的javascript,只需删除当前的onOffScroll()函数,并将其替换为完整的JS代码段即可。如果要使用jQuery,请对jQuery代码段执行相同的操作。如果选择获取jQuery路由,请确保页面中有对jQuery库的引用。如果你不这样做,那就没用了。如果你更新你的代码,我可以看看你哪里出错了,但是上面的操作应该没有任何问题。另外,看看你的控制台(按F12键),看看是否有任何错误。如果有,让我知道错误是什么。
function onOffScroll() {
var x = document.getElementById('elementsToScroll');
if (isVisible(x)) {
x.style.display = 'none';
} else {
x.style.display = 'block';
}
}
function isVisible(element) {
return element.offsetWidth !== 0 && !element.offsetHeight !== 0;
}
<div id="elementsToScroll">
<marquee behavior=scroll direction=down scrollamount=2 scrolldelay=43 height=581 style='position:absolute; left:17%; top:23px; width:100; height:581px;'><font>The jQuery toggle
method should do it.
$(function() {
var elm = $('#elementsToScroll');
$('.grapes').on('click', function() {
elm.toggle();
});
});
<button type="button" class="grapes">Grapes</button>