- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
现在我已经设置了一个 Bootstrap Accordion,因此当单击面板主体时,它会自动关闭该面板并打开下一个面板。我想限制此事件仅在每次页面加载时发生一次。 #Carriers是第一个panel-body #Storage是下一个panel-body的ID。
我尝试了 .one Jquery 表达式,但它似乎禁用了 Accordion 。我猜我需要在 JS 中执行此操作,但我希望有一种方法可以在每次页面加载时“数据切换”一次。
html Accordion :
<div class="container">
<div class="row" align="center">
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
<!---carrier heading--->
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingCarriers" class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#carriers" aria-expanded="false" aria-controls="carriers">
<h4 class="panel-title">
<a class="btn-3 btn-block btn-default" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Step 1: Which Carrier? <span data-toggle="tooltip" data-placement="left" title="Select the cellular/data provider this device uses." class="glyphicon glyphicon-info-sign" style="float:right"></span>
</a>
</h4>
</div>
<!---carrier inputs--->
<div id="carriers" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingCarrier" data-parent="#accordion" href="#carriers">
<div class="panel-body" data-toggle="collapse" data-target="#storage">
<div id="att" class="col-sm-6 col-md-2">
<label>
<input type="radio" name="carrier" value="att"/>
<div class="thumbnail input1">
<img src="images/att-icon.png" alt="..." class="img-responsive">
</div>
</label>
</div>
<div id="verizon" class="col-sm-6 col-md-2">
<label>
<input type="radio" name="carrier" value="verizon"/>
<div class="thumbnail input1">
<img src="images/verizon-icon.png" alt="..." class="img-responsive">
</div>
</label>
</div>
<div id="sprint" class="col-sm-6 col-md-2">
<label>
<input type="radio" name="carrier" value="sprint"/>
<div class="thumbnail input1">
<img src="images/sprint-icon.png" alt="..." class="img-responsive">
</div>
</label>
</div>
<div id="t-mobile" class="col-sm-6 col-md-2">
<label>
<input type="radio" name="carrier" value="t-mobile"/>
<div class="thumbnail input1">
<img src="images/t-mobile-logo.png" alt="..." class="img-responsive">
</div>
</label>
</div>
<div id="unlocked" class="col-sm-6 col-md-2">
<label>
<input type="radio" name="carrier" value="unlocked"/>
<div class="thumbnail input1">
<img src="images/factoryunlocked.png" alt="..." class="img-responsive">
</div>
</label>
</div>
<div id="other" class="col-sm-6 col-md-2">
<label>
<input type="radio" name="carrier" value="other"/>
<div class="thumbnail input1">
<img src="images/othercarriers.png" alt="...">
</div>
</label>
</div>
</div>
</div>
</div>
<!---storage heading--->
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingStorage" class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#storage" aria-expanded="false" aria-controls="storage">
<h4 class="panel-title">
<a class="btn-3 btn-block btn-default" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Step 2: How Much Storage? <span data-toggle="tooltip" data-placement="left" title="How many GB does this device have in storage?" class="glyphicon glyphicon-info-sign" style="float:right"></span>
</a>
</h4>
</div>
<!---storage inputs--->
<div id="storage" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingStorage" data-parent="#accordion" href="#storage">
<div class="panel-body" data-toggle="collapse" data-target="#condition">
<div id="placeholder2" class="col-sm-12 col-md-3">
</div>
<div id="storage16" class="col-sm-12 col-md-2">
<label>
<input type="radio" name="storage" value="16"/>
<div class="thumbnail input1">
<img src="images/16gb.png" alt="...">
</div>
</label>
</div>
<div id="storage64" class="col-sm-12 col-md-2">
<label>
<input type="radio" name="storage" value="64"/>
<div class="thumbnail input1">
<img src="images/64gb.png" alt="...">
</div>
</label>
</div>
<div id="storage128" class="col-sm-12 col-md-2">
<label>
<input type="radio" name="storage" value="128"/>
<div class="thumbnail input1">
<img src="images/128gb.png" alt="...">
</div>
</label>
</div>
</div>
</div>
</div>
<div id="conditionPanel" class="panel panel-default">
<div class="panel-heading" role="tab" id="headingCondition" class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#condition" aria-expanded="false" aria-controls="condition">
<h4 class="panel-title">
<a class="btn-3 btn-block btn-default" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Step 3: What Is The Condition? <span data-toggle="tooltip" data-placement="left" title="Ensure that you accurately choose the condition that bests describes this device." class="glyphicon glyphicon-info-sign" style="float:right"></span>
</a>
</h4>
</div>
<!---condition inputs--->
<div id="condition" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingCondition" data-parent="#accordion">
<div class="panel-body" data-toggle="collapse" data-target="#condition">
<div id="condition">
<div id="condition1" class="col-sm-12 col-md-3">
<label>
<input type="radio" name="condition" value="1"/>
<div class="thumbnail input1">
<div class="btn btn-lg btn-success btn-block">Like New</h1></div>
<div class="caption">
<p>"Like New" phones look brand new, and have no signs of use. Very few phones are in this condition.</p>
</div>
</div>
</label>
</div>
<hr class="hidden-md hidden-lg">
<div id="condition2" class="col-sm-12 col-md-3">
<label>
<input type="radio" name="condition" value="2"/>
<div class="thumbnail input1">
<div class="btn btn-lg btn-primary btn-block">Good</h1></div>
<div class="caption">
<p>"Good" phones appear to be lightly used and function %100. Most phones fall in this category.</p>
</div>
</div>
</label>
</div>
<hr class="hidden-md hidden-lg">
<div id="condition3" class="col-sm-12 col-md-3">
<label>
<input type="radio" name="condition" value="3"/>
<div class="thumbnail input1">
<div class="btn btn-lg btn-warning btn-block">Cracked</h1></div>
<div class="caption">
<p>"Cracked" phones have damaged screens, but otherwise function and look like a "Good" phone.</p>
</div>
</div>
</label>
</div>
<hr class="hidden-md hidden-lg">
<div id="condition4" class="col-sm-12 col-md-3">
<label>
<input type="radio" name="condition" value="4"/>
<div class="thumbnail input1">
<div class="btn btn-lg btn-danger btn-block">Poor</h1></div>
<div class="caption">
<p>"Poor" phones may have water damage, missing buttons, heavy wear, or do not turn on.</p>
</div>
</div>
</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
JS:
$(function() {
//scroll back to top in index.html
$("#backtotop").on('click', function() {
$('html, body').animate({
scrollTop: $("header").offset().top
}, 350);
});
// Carrier Input
$("#carriers").one('click', function() {
$('#question').hide ();
$('html, body').animate({
scrollTop: $("#carriers").offset().top
}, 500);
});
//att
$("#att").on('click', function() {
$('#att2').show(300).siblings().hide ();
});
//verizon
$("#verizon").on('click', function() {
$('#verizon2').show(300).siblings().hide ();
});
//sprint
$("#sprint").on('click', function() {
$('#sprint2').show(300).siblings().hide ();
});
//t-mobile
$("#t-mobile").on('click', function() {
$('#t-mobile2').show(300).siblings().hide ();
});
//unlocked
$("#unlocked").on('click', function() {
$('#unlocked2').show(300).siblings().hide ();
});
//other
$("#other").on('click', function() {
$('#other2').show(300).siblings().hide ();
});
//data
$("#data").on('click', function() {
$('#data2').show(300).siblings().hide ();
});
//wifi
$("#wifi").on('click', function() {
$('#wifi2').show(300).siblings().hide ();
});
// Storage Input
$("#storage").one('click', function() {
$('#question').hide ();
$('html, body').animate({
scrollTop: $("#storage").offset().top
}, 500);
});
//8gb
$("#storage8").on('click', function() {
$('#2storage8').show(300).siblings().hide ();
});
//16gb
$("#storage16").on('click', function() {
$('#2storage16').show(300).siblings().hide ();
});
//32gb
$("#storage32").on('click', function() {
$('#2storage32').show(300).siblings().hide ();
});
//64gb
$("#storage64").on('click', function() {
$('#2storage64').show(300).siblings().hide ();
});
//128gb
$("#storage128").on('click', function() {
$('#2storage128').show(300).siblings().hide ();
});
//256gb
$("#storage256").on('click', function() {
$('#2storage256').show(300).siblings().hide ();
});
//512gb
$("#storage512").on('click', function() {
$('#2storage512').show(300).siblings().hide ();
});
//Event handler to prevent up and down key presses from changing 'condition input'
$('input[type="radio"]').keydown(function(e)
{
var arrowKeys = [37, 38, 39, 40];
if (arrowKeys.indexOf(e.which) !== -1)
{
$(this).blur();
return false;
}
});
//Condition input
$("#condition").one('click', function() {
$('#question').hide ();
$('#resultsButton, .verifyResults').slideDown(425);
$('html, body').animate({
scrollTop: $("#questions").offset().top - 50
}, 250);
});
//Like New
$("#condition1").on('click', function() {
$('#condition1-2').show(300).siblings().hide ();
});
//Good
$("#condition2").on('click', function() {
$('#condition2-2').show(300).siblings().hide ();
});
//Cracked
$("#condition3").on('click', function() {
$('#condition3-2').show(300).siblings().hide ();
});
//Poor
$("#condition4").on('click', function() {
$('#condition4-2').show(300).siblings().hide();
});
//Accordion Heading tabs
//condition header
$("#headingCondition").on('click', function() {
$('html, body').animate({
scrollTop: $("#headingCondition").offset().top
}, 200);
});
//storage header
$("#headingStorage").on('click', function() {
$('html, body').animate({
scrollTop: $("#headingStorage").offset().top
}, 200);
});
//carrier header
$("#headingCarrier").on('click', function() {
$('html, body').animate({
scrollTop: $("#headingCarrier").offset().top
}, 200);
});
//Hidden Thumbnails
$(".carrierValue").on('click', function() {
$('#carriers').collapse('show');
$('html, body').animate({
scrollTop: $("#headingCarriers").offset().top
}, 500);
});
$("#storageValue").on('click', function() {
$('#storage').collapse('show');
$('html, body').animate({
scrollTop: $("#headingStorage").offset().top
}, 500);
});
$("#conditionValue").on('click', function() {
$('#condition').collapse('show');
$('html, body').animate({
scrollTop: $("#headingCondition").offset().top
}, 500);
});
// Verification message
$("#verifySelection").on('click', function() {
$('html, body').animate({
scrollTop: $("#logo").offset().top
}, 500);
});
$(".btn-group").on('click', function() {
$('html, body').animate({
scrollTop: $(this).offset().top - 300
}, 350);
});
});
// Form validation, returns alert "Please enter (missing value)" on submit if one of the radio buttons did not get clicked.
function validateForm() {
var x = document.forms["selection"]["carrier"].value;
var y = document.forms["selection"]["storage"].value;
var z = document.forms["selection"]["condition"].value;
if (x == null || x == "") {
alert("Please enter a 'Carrier'");
return false;
}
if (y == null || y == "") {
alert("Please enter a 'Storage' value");
return false;
}
if (z == null || z == "") {
alert("Please enter a 'Condition' value");
return false;
}
}
// Form Validation for models with no storage option
function validateForm2() {
var x = document.forms["selection"]["carrier"].value;
var z = document.forms["selection"]["condition"].value;
if (x == null || x == "") {
alert("Please enter a 'Carrier'");
return false;
}
if (z == null || z == "") {
alert("Please enter a 'Condition' value");
return false;
}
}
//initialize tooltips
$(function () {
$('[data-toggle="tooltip"]').tooltip()
})
最佳答案
根据您提供的信息,这也是我为您提供的一个很好的答案:
这听起来像是 Boolean flag 的工作.
其工作原理是,您有一个变量,例如 hasAccordianBeenClosed
,然后首先将其设置为 false
。
在关闭的代码运行之前添加检查是否为true
。运行后将该变量设置为 true
,它将不会再次运行。
关于javascript - 尝试将 Bootstrap Accordion 中的数据切换限制为 .one click 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29853123/
我正在尝试将 WPF CodeBehid 事件(如 Event、Handler、EventSetter)转换为 MVVM 模式。我不允许使用 System.Windows.Controls,因为我使用
我可能误解了 Backbone 中的事件系统,但是当我尝试以下代码时什么也没有发生。当我向 Backbone.Events 扩展对象添加新属性时,它不应该触发某种更改、更新或重置事件吗?就像模型一样吗
我遇到了一个简单的问题,就是无法弄清楚为什么它不起作用。我有一个子组件“app-buttons”,其中我有一个输入字段,我想听,所以我可以根据输入值过滤列表。 如果我将输入放在我有列表的根组件中,一切
System.Timers.Timer 的 Elapsed 事件实际上与 System.Windows.Forms.Timer 的 Tick 事件相同吗? 在特定情况下使用其中一种比使用另一种有优势吗
嗨,这个 javascript 代码段是什么意思。(evt) 部分是如此令人困惑.. evt 不是 bool 值。这个怎么运作? function checkIt(evt) { evt
我正在使用jquery full calendar我试图在事件被删除时保存它。 $('calendar').fullCalendar ({
我有两个链接的鼠标事件: $('body > form').on("mousedown", function(e){ //Do stuff }).on("mouseup", function(
这是我的代码: $( '#Example' ).on( "keypress", function( keyEvent ) { if ( keyEvent.which != 44 ) {
我尝试了 dragOver 事件处理程序,但它没有正常工作。 我正在研究钢琴,我希望能够弹奏音符,即使那个键上没有发生鼠标按下。 是否有事件处理程序? 下面是我正在制作的钢琴的图片。 最佳答案 您应该
当悬停在相邻文本上时,我需要使隐藏按钮可见。这是通过 onMouseEnter 和 onMouseLeave 事件完成的。但是当点击另外的文本时,我需要使按钮完全可见并停止 onMouseLeave
我有ul标签内 div标签。我申请了mouseup事件 div标记和 click事件 ul标签。 问题 每当我点击 ul标签,然后都是 mouseup和 click事件被触发。 我想要的是当我点击 u
我是 Javascript 和 jQuery 的新手,所以我有一个非常愚蠢的疑问,请耐心等待 $(document).click(function () { alert("!"); v
我有一个邮政编码解析器,我正在使用 keyup 事件处理程序来跟踪输入长度何时达到 5,然后查询服务器以解析邮政编码。但是我想防止脚本被不必要地调用,所以我想知道是否有一种方法可以跟踪 keydown
使用事件 API,我有以下代码来发布带有事件照片的事件 $facebook = new Facebook(array( "appId" => "XXX", "se
首次加载 Microsoft Word 时,既不会触发 NewDocument 事件也不会触发 DocumentOpen 事件。当 Word 实例已打开并打开新文档或现有文档时,这些事件会正常触发。
我发现了很多相关问题(这里和其他地方),但还没有具体找到这个问题。 我正在尝试监听箭头键 (37-40) 的按键事件,但是当以特定顺序使用箭头键时,后续箭头不会生成“按键”事件。 例子: http:/
给定的 HTML: 和 JavaScript 的: var $test = $('#test'); $test.on('keydown', function(event) { if (eve
我是 Node.js 的新手,希望使用流运行程序。对于其他程序,我必须同时启动一个服务器(mongodb、redis 等),但我不知道我是否应该用这个运行一个服务器。请让我知道我哪里出了问题以及如何纠
我正在尝试使用 Swift 和 Cocoa 创建一个适用于 OS X 的应用程序。我希望应用程序能够响应关键事件,而不将焦点放在文本字段上/文本字段中。我在 Xcode 中创建了一个带有 Storyb
我有以下代码: (function(w,d,s,l,i){ w[l]=w[l]||[];w[l].push({
我是一名优秀的程序员,十分优秀!