我正在尝试为自己创建一个绘图工具,我在其中选择一个类别,一个时间限制,然后在单击开始按钮后,随机播放的幻灯片将在我选择的时间内播放每个图像。
现在我正在尝试设置jQuery,以便隐藏包含幻灯片的div直到我按下start。然后,出现幻灯片(以及一些控件,如暂停按钮)。我的问题是我不知道如何为此设置jQuery。我需要进行设置,以便在按下开始后播放幻灯片,但根据我选择的单选按钮播放一段时间。我希望这是有道理的。
以下是幻灯片页面的html:
<table style="width:50px height:200px">
<ul class="controls">
<li><img class="prev" src="skip-backward.png" /></li>
<li><img class="pause" src="pause.png"></li>
<li><img class="next" src="skip-forward.png"></li>
<li><img class="stop" src="stop.png"></li>
</ul>
</table>
<!--Pics-->
<div id="pics">
<img class="allppl" src="___and_one_for_the_girlies_by_Sadiel47.jpg"/>
<img class="allppl" src="___Sheer_Stock_02____by_Symplig0th.png"/>
<img class="allppl" src="___Sheer_Stock_03____by_Symplig0th.png"/>
<img class="allppl" src="___Sheer_Stock_04____by_Symplig0th.png"/>
<img class="allppl" src="___Sheer_Stock_06____by_Symplig0th.png"/>
<img class="allppl" src="___Sheer_Stock_09____by_Symplig0th.png"/>
<img class="allppl" src="a0e54_large.jpg"/>
<img class="allppl" src="007-10-.jpg"/>
<img class="allppl" src="007-11-.jpg"/>
<img class="allppl" src="007-12-.jpg"/>
<img class="allppl" src="007-7-.jpg"/>
<img class="allppl" src="007-8-.jpg"/>
<img class="allppl" src="007-9-.jpg"/>
<img class="allppl" src="male_fighter_10_by_bobbistock.jpg"/>
<img class="allppl" src="male_fighter_3_by_bobbistock.jpg"/>
<img class="allppl" src="male_fighter_9_by_bobbistock.jpg"/>
<img class="allppl" src="relaxing.jpg"/>
<img class="allppl" src="Rendan_Touch_by_cugot12.jpg"/>
</div>
<!--Time Lengths-->
<table class="times" style="width:90%">
<tbody>
<tr class="nums">
<td>30 secs</td>
<td>1 min</td>
<td>90 secs</td>
<td>2 mins</td>
<td>5 mins</td>
</tr>
<tr>
<td><input type="radio" name="ppl" value="allppl30" id="30s" /></td>
<td><input type="radio" name="ppl" value="allppl1" id="1min" /></td>
<td><input type="radio" name="ppl" value="allppl90" id="90s" /></td>
<td><input type="radio" name="ppl" value="allppl2" id="2min" /></td>
<td><input type="radio" name="ppl" value="allppl5" id="5min" /></td>
</tr>
</tbody>
</table>
<!--Start & Home Buttons-->
<span class="lbuttons" id="start"><button type="button">Start</button></span>
<span class="lbuttons" id="home"><button type="button">Home</button></span>
这是jQuery。我正在使用Cycle 2插件进行幻灯片放映。我将过去的尝试放在评论中,这样我就可以更好地跟踪哪些有效,哪些无效。
jQuery(document).ready(function () {
'use strict';
$('#pics').hide();
$('button#start').click(function () {
$('#pics').show(function () {
jQuery(this).cycle({
fx: 'fade',
next: '#pics',
speed: 30000,
random: 1
});
});
});
/*
Basic Click- WORKS (Pics appear when start is clicked and cycle isn't present)
$('#start').click(function () {
$('#pics').show();
});
First Attempt- DOESN'T WORK
if ($('button#start').is(':clicked')) {
$('#pics').show();
}
if ($('input#30s').is(':checked')) {
$('.times').hide();
jQuery('#pics').cycle({
fx: 'fade',
next: '#pics',
speed: 30000,
random: 1
});
} */
if ($('div#pics').width() >= 1000 && $('div#pics').height() >= 1100) {
$('div#pics').css('max-width', '90%');
}
});
如果还不是很明显,那么我只是输入不同的东西来看看会发生什么。
编辑:我想出了部分问题:我需要在幻灯片的命令中使用“超时”而不是“速度”。速度会影响过渡速度,而不会影响幻灯片在屏幕上显示的时间。当我使用数字输入进行超时时,计时器工作(例如输入“timeout:30000”会导致图像在屏幕上停留30秒),但我无法使用NibbCNoble建议的变量。
这是新代码:
$(document).ready(function () {
'use strict';
$('#pics').hide();
$('.play').hide();
$('#start').click(function () {
var speedval = $("input[name=ppl]:checked").val();
$('#pics').show(function () {
$(this).cycle({
fx: 'fade',
next: '#pics',
timeout: speedval,
random: 1
});
});
});
$('.pause').click(function () {
$(this).hide();
$('.play').show();
});
$('.play').click(function () {
$(this).hide();
$('.pause').show();
});
/* Basic Click- WORKS
$('#start').click(function () {
$('#pics').show();
});
First Attempt- DOESN'T WORK
if ($('button#start').is(':clicked')) {
$('#pics').show();
}
if ($('input#30s').is(':checked')) {
$('.times').hide();
jQuery('#pics').cycle({
fx: 'fade',
next: '#pics',
speed: 30000,
random: 1
});
} */
if ($('div#pics').width() >= 1000 && $('div#pics').height() >= 1100) {
$('div#pics').css('max-width', '90%');
}
});
答案 0 :(得分:0)
我不确定你的幻灯片是如何设置的,但我可以让你朝着正确的方向开启的部分是单选按钮。如果要使用这些单选按钮将值输入到每张幻灯片上花费的时间,则需要将值设置为可输入的输入,例如多秒。
Here is a fiddle that I started with the radio buttons value getting selected
我改变了一点的HTML部分
<td><input type="radio" name="ppl" value="30" id="30s" /></td>
<td><input type="radio" name="ppl" value="60" id="1min" /></td>
<td><input type="radio" name="ppl" value="90" id="90s" /></td>
<td><input type="radio" name="ppl" value="120" id="2min" /></td>
<td><input type="radio" name="ppl" value="300" id="5min" /></td>
和javascript部分:
jQuery(document).ready(function () {
'use strict';
$('#pics').hide();
$('button#start').click(function () {
var speedval = $("input[name=ppl]:checked").val();
$('#pics').show(function () {
jQuery(this).cycle({
fx: 'fade',
next: '#pics',
speed: speedval,
random: 1
});
});
});
/*
Basic Click- WORKS (Pics appear when start is clicked and cycle isn't present)
$('#start').click(function () {
$('#pics').show();
});
First Attempt- DOESN'T WORK
if ($('button#start').is(':clicked')) {
$('#pics').show();
}
if ($('input#30s').is(':checked')) {
$('.times').hide();
jQuery('#pics').cycle({
fx: 'fade',
next: '#pics',
speed: 30000,
random: 1
});
} */
if ($('div#pics').width() >= 1000 && $('div#pics').height() >= 1100) {
$('div#pics').css('max-width', '90%');
}
});