Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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
我需要帮助将jquery转换为普通javascript_Javascript_Jquery - Fatal编程技术网

我需要帮助将jquery转换为普通javascript

我需要帮助将jquery转换为普通javascript,javascript,jquery,Javascript,Jquery,我有一个phpBB论坛软件的聊天扩展。大约在过去的两年里,我发现了一些记忆和学习方面的问题。我的js中混合了一点jquery,部分jquery代码不会在firefox中执行,就好像根本不存在切换bbcode、smilies和字体颜色保持选项的功能一样。浏览器控制台中不会出现任何错误或任何东西,但在chrome、edge和其他浏览器中可以完美工作。我需要转换成普通js的是 $(window).on('load', function () { $("#smilies").

我有一个phpBB论坛软件的聊天扩展。大约在过去的两年里,我发现了一些记忆和学习方面的问题。我的js中混合了一点jquery,部分jquery代码不会在firefox中执行,就好像根本不存在切换bbcode、smilies和字体颜色保持选项的功能一样。浏览器控制台中不会出现任何错误或任何东西,但在chrome、edge和其他浏览器中可以完美工作。我需要转换成普通js的是

$(window).on('load', function () {
    $("#smilies").click(function () {
        $("#chat_smilies").toggle(600);
    });
    $("#bbcodes").click(function () {
        $("#chat_bbcodes").toggle(600);
    });
    $("#chat_bbpalette").click(function () {
        $("#chat_colour_palette").toggle(600);
    });
});
上面所做的是一个幻灯片效果,而不仅仅是弹出相应的元素。我知道元素ID都应该与jquery匹配,因为它可以与其他浏览器配合使用。这只是firefox的一个bug还是什么?但如果有人能帮忙,我们将不胜感激。

const$=document.querySelector.bind(文档);
功能切换(持续时间){
const{style}=this;
const{opacity}=样式;
this.style.transition=`opacity${duration/1_000}s`;
this.style.opacity=opacity=''| | opacity==1?0:1;
}
window.onload=()=>{
$('#smilies').addEventListener('click',toggle.bind($('#chat#smilies'),600));
$('bbcodes').addEventListener('click',toggle.bind($('bbcodes'),600));
$('聊天室调色板').addEventListener('单击',切换.bind($('聊天室调色板'),600));
}
smilies

聊天微笑

BBCODE 聊天代码

聊天室

chat\u color\u palete

在阅读了回复和大量阅读之后,我终于找到了问题所在。这简直太愚蠢了。我发布的代码完全修复了,替换为以下代码

        $("#smilies").click(function(event) {
            $("#chat_smilies").toggle(600);
        });
        $("#bbcodes").click(function(event) {
            $("#chat_bbcodes").toggle(600);
        });
        $("#chat_bbpalette").click(function(event) {
            $("#chat_colour_palette").toggle(600);
        });
并完全删除初始函数

$(window).on('load', function () {
   button code here
});
从这篇文章中找到了主要问题


谢谢大家:)

包含一个示例来演示问题可能会有所帮助。请在您的问题中添加相关的html和css。您只需在单击时使用addEventListeners在vanilla javascript中重写此代码,然后切换类列表以显示单击时隐藏。。。