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