Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript/jQuery函数打开和关闭HTML功能_Javascript_Jquery_Html_Button_Toggle - Fatal编程技术网

使用JavaScript/jQuery函数打开和关闭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

我有一个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>
$("#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>


jQuery
toggle
方法应该可以做到这一点

无需在按钮上使用内联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>