如何我点击按钮
问题描述:
我使用的代码
每次显示阵列中的3项以下,只显示阵列中的前3项为默认现在如何我点击按钮
//Hides all but first 3 items in the array
@$('.question_container')[3..-1].hide()
,我想显示下一个当我点击按钮时数组中的3个项目,以及当我再次点击按钮时(以及重复)随后的3个项目。
目前,我只能够证明用下面的代码
showMoreQuestions: (e) ->
e.preventDefault()
@$('.question_container')[3..-1].show()
false
在阵列中的单击所有剩余的项目如何修改上面的代码,这样我将只显示3项,当我点击我的按钮?
答
我在这里猜测,但如果你只是选择了隐藏的那些,你理论上应该能够每次显示前3个并使其工作。
showMoreQuestions: (e) ->
e.preventDefault()
@$('.question_container:hidden')[0..2].show()
false
答
我不知道你在寻找什么行为,但也许这样的事情会做的伎俩:
showMoreQuestions: (e) ->
e.preventDefault()
first = @$('.question_container:visible').length - 1
@$('.question_container')[first .. first+3].show()
false
你只需要看看有多少是当前可见并使用它为show
构建切片。每当您拨打showMoreQuestions
时,会再显示三次。
演示:http://jsfiddle.net/ambiguous/Ybz8h/
如果你想一次只显示了三种(而不是揭示三个在时刻),然后是这样的:
showMoreQuestions: (e) ->
@offset ?= 3
e.preventDefault()
$('.question_container')[@offset - 3 .. @offset ].hide()
$('.question_container')[@offset .. @offset + 2].show()
@offset += 3
false
那是什么语言? (你有没有在你的问题上忘记标签?) – nnnnnn
@nnnnnn看起来像使用jQuery的C,Pseudo和Javascript的组合^^; –
@nnnnnn我相信这是coffeescript –