Javascript正文溢出:隐藏
我一直在尝试让它工作 我有两个复选框,作为我的移动CSS导航菜单的一部分。我有一个javascript,它可以防止一次打开多个复选框。它起作用了 现在,当选中其中一个复选框时,我试图向正文中添加一个Javascript正文溢出:隐藏,javascript,jquery,html,Javascript,Jquery,Html,我一直在尝试让它工作 我有两个复选框,作为我的移动CSS导航菜单的一部分。我有一个javascript,它可以防止一次打开多个复选框。它起作用了 现在,当选中其中一个复选框时,我试图向正文中添加一个溢出:隐藏,显然,如果未选中任何内容,则删除溢出:隐藏,但我似乎无法使第一部分正常工作 我对Javascript相当陌生,因此任何帮助都将不胜感激。谢谢 功能仅选择此(id){ var myCheckbox=document.getElementsByName(“导航检查”); Array.proto
溢出:隐藏
,显然,如果未选中任何内容,则删除溢出:隐藏
,但我似乎无法使第一部分正常工作
我对Javascript相当陌生,因此任何帮助都将不胜感激。谢谢
功能仅选择此(id){
var myCheckbox=document.getElementsByName(“导航检查”);
Array.prototype.forEach.call(myCheckbox,function(el){
如果(id!=el)
{
el.checked=false;
}
});
如果(id.checked==false)
{
id.checked=false;
}否则
{
id.checked=true;
}
如果(id.checked==true)
{
$('body').css(“溢出”、“隐藏”);
}
}
//单击,滚动至文档顶部
函数topFunction(){
document.body.scrollTop=0;
document.documentElement.scrollTop=0;
}
看起来您来自不同的编程语言?:)
您会喜欢javascript,例如,第一个复选框的slim函数
function selectOnlyThis = ({ target }) => {
const { id, checked } = target;
id === 'rger' && checked && $('body').css("overflow", "hidden");
}
这就行了
它接受对任何复选框所做的所有更改,并检查id是否为rger
或lger
,复选框是否已选中,然后使用jquery
css
()方法更改css
位置
$(“输入:复选框”)。在('change',函数(){
if($(this.attr('id')='rger'| |$(this.attr('id')='lger')&&$(this.prop('checked')){
$('body').css(“溢出”、“隐藏”);
}
其他的
$('body').css(“溢出”、“可见”);
});
参考此项。如果一次只能使用一个选项,为什么要使用input type=“checkbox”
input type=“radio”
默认情况下会这样做,并且不需要涉及脚本。因为正如我在描述中所述,它用于CSS菜单,需要radiobox没有提供的复选框的未选中部分。我错过了该部分。如果要包含脚本,无需检查是否选中复选框,只需在使用CSS的父对象和目标对象上添加/删除一个类(每个框一个)。看起来它只会添加溢出:如果仅选中rger,则隐藏到正文中正确吗?我希望它是如果“导航检查”元素名称之一。我尝试添加这个无论如何,它没有工作,它与我的猫头鹰滑块冲突。我也会用另一个按钮更新原稿,这样你就会明白左边菜单有一个复选框,右边菜单有一个复选框。你应该通过解析代码来理解它的功能,解释你做了什么以及它是如何工作的。如果您需要更多信息,请点击此处:。此外,如果您省略了不必要的注释,例如“看起来您来自另一种编程语言?”,那么答案是最好的。这是可行的,但是它只指rger而不是lger。我复制了if($(这..两次引用lger也很有效,但是我觉得这可以简化?我马上尝试了| |但我错过了额外的括号!我正在学习。谢谢你,这很完美。这个脚本似乎有问题,因为我的一位新成员指出,选中注册表单中的复选框导致了此功能。)触发不是Lger或Rger id且仍然应用该类的错误。还修复了该问题。哦,哇,你太快了。我知道你在那里做了什么。attr是必需的。它现在可以正常工作。我的问题是,如果我们取出Lger/Rger部分,并搜索输入[name=“nav check”],这两个元素都已命名,该操作是否有效。
<div class="r-btn">
<input id="rger" type="checkbox" name="nav-check" />
<label for="rger" onclick="topFunction()"><span></span><br/><div>Location</div></label>
</div>
$("input:checkbox").on('change', function () {
if (($(this).attr('id')=='rger' || $(this).attr('id')=='lger') && $(this).prop('checked')) {
$('body').css("overflow", "hidden");
}
else
$('body').css("overflow", "visible");
});