我有一个模态窗口.我想要发生的是当模态打开时从页面中删除某些元素,并将它们添加回模态关闭后的正确位置.我不想做display:none,因为只隐藏它们,我需要将它们实际从页面中删除.所以我有一些jQuery删除并在一个计时器之后添加它们只是为了测试...
更新:通过对代码的这些添加,它现在抓取元素,然后在相同的元素之后将其添加回来.问题是,如果该元素也被删除了怎么办?然后它不会重新加入!另外,javascript事件处理程序不会丢失吗?我正在开发一个插件,因此它应该尽可能少地干扰网站,但是3d元素在Safari中有一个无法绕过的错误.
关于如何在不干扰人们网站的情况下暂时删除3d元素的任何想法?
$3delements = $('*').filter(function(){return $(this).css('-webkit-transform-style') == 'preserve-3d'});
$3delementsposition = $3delements.prev()
//On modal open
$3delements.remove();
//On modal close
$3delementsposition.after($3delements);
Run Code Online (Sandbox Code Playgroud)
问题是,这需要我在DOM中指定某个位置让他们重新进入.我希望这些元素能够回到原来的位置.如何确保元素不会将.remove上的信息更改/移动/丢失到.append.
我想在我的网站上创建一个完全清除缓存的按钮.因为看起来Safari和Chrome的功能都不起作用.这可能吗?
我知道你可以使用defer =""html属性来推迟javascript文件,但它只支持IE(lol)并且只会推迟javascript文件,我需要推迟整个插件加载.
有没有办法做到这一点?我喜欢Facebook整合等等,但是plguins很慢.它使加载时间增加了一倍以上.
谢谢!〜杰克逊
<div class="socialplugins"><a href="http://twitter.com/share" class="twitter-share-button" data-count="vertical" data-via="DesignSweeter">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
</div>
<div class="socialplugins">
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=218305128208494&xfbml=1"></script><fb:like href="http://designsweeter.com/" send="false" layout="box_count" width="55" show_faces="true" font=""></fb:like>
</div>
<div class="socialplugins">
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
<g:plusone size="tall" count="true"></g:plusone>
</div>
Run Code Online (Sandbox Code Playgroud)
注意:.socialplugins类仅用于在我的标题中定位.
所以我用CSS3创建一个六边形图案,我希望它看起来像这样;
我的六边形漂浮着:留在一定宽度的身体里.如果我可以在每隔一行中选择第一个元素,我可以在上面的链接中有效地完成结果.这个nth-child公式是什么?
这将是第5个元素,然后是每个第7个元素?
所以我正在建立一个播客网站,我希望能够上传歌曲,并在播放按钮旁边显示封面.我有jPlayer设置和音乐部分都已完成,但我怎么能使用 - 最好是PHP,但如果没有,javascript或jQuery - 来获取嵌入了mp3文件并显示它的封面艺术?
谢谢!
所以我使用的是机车,Ruby on Rails CMS,以及它的编辑器来创建一个博客.在机车后端,我制作了一个模型,其中包含一个包含可能的博客帖子的"帖子".然后,在我的index.liquid文件中,我试图循环遍历模型的内容并显示entires.
这是液体循环:
{% for post in contents.posts %}
{{ post.title }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但是它显示了'/ NoMethod Error at'','undefined方法contents为nil:NilClass'.如果我从for ... in循环中删除.posts没有错误,但循环甚至不会发生一次,当然,因为只有contents不能循环.
我已阅读文档,代码应该有效.为什么它表现得好像没有数据?
更新2012年12月11日:如果我将我的代码推送到真正的机车引擎它完美运行,只有编辑器抛出此错误.我使用编辑器,所以我可以通过IDE而不是浏览器编辑代码.
更新2012年12月12日:想出这不是机车编辑器的用途.您应该在创建网站时使用虚拟数据库,然后将其推送到引擎以将其与您自己的数据库一起使用.
所以我<div>在单列布局中有一个列表,其中包含"活动"或"非活动"类.活动类在项目右侧显示图形,而非活动类不显示.我进行了设置,以便按下向上或向下箭头键将"活动"类(以及带有它的图形)移动到上一个或下一个项目.它不是动画,但您可以直观地看到图形消失并重新出现在上方或下方的标签上.
现在我想让页面向下滚动箭头按键,这样项目的上边缘总是在同一个位置.由于元素列表大于页面窗口,因此必须自动滚动浏览器,以便所选<div>内容始终位于屏幕的中心...
//Paging through items with arrow keys
theWindow.keydown(function (e) {
var key = e.keyCode,
oldItem = $('li.active')
if ((key === 40 && oldItem.next().length) || (key === 38 && oldItem.prev().length)) {
var theWindowMod = (window.innerHeight / 2) + 43,
theHTML = $('html'),
theDetail = $('.detail')
theHTML.addClass('notransition')
if (key === 40 && oldItem.next().length) {
oldItem.removeClass('active').next().addClass('active')
} else if (key === 38 && oldItem.prev().length) {
oldItem.removeClass('active').prev().addClass('active')
}
var newItem = $('li.active')
window.scroll(0, newItem.offset().top - theWindowMod)
e.preventDefault() …Run Code Online (Sandbox Code Playgroud) 我有一个用户之前"投票"的ActiveRecord关系...
@previous_votes = current_user.votes
Run Code Online (Sandbox Code Playgroud)
我只需要根据当前的"挑战"过滤掉这些,所以Ruby的select方法似乎是最好的方法......
@previous_votes = current_user.votes.select { |v| v.entry.challenge_id == Entry.find(params[:entry_id]).challenge_id }
Run Code Online (Sandbox Code Playgroud)
但我还需要更新这些记录的属性,该select方法将我的关系转换为无法更新或保存的数组!
@previous_votes.update_all :ignore => false
# ...
# undefined method `update_all' for #<Array:0x007fed7949a0c0>
Run Code Online (Sandbox Code Playgroud)
如何像select方法那样过滤我的关系,但是不能失去用ActiveRecord更新/保存项目的能力?
在谷歌周围看似似乎named_scope出现在类似问题的所有答案中,但我无法弄清楚它们能否专门完成我所追求的目标.
所以我有 moment JS,我需要用人类可读的文字显示到下周日的时间:
Next Sunday will be in 5 days, 4 hours, 30 minutes, and 10 seconds.
瞬间有from方法但没有until方法。
我正在尝试尽可能精确地更新文本输入的值与DOM级别3规范.
keydown
keypress
beforeInput
(插入)
input
keyup
简单地触发上述事件不会将字符插入到字段中,我相信这是大多数浏览器的标准.
所以我需要e.target在调度input事件之前将字符添加到's值中.
输入事件(大多数)看起来像这样:
没有关键位置值,所以我不确定将data属性添加到目标的位置!
我需要保存的keydown事件中是否有任何数据,然后等待紧接着的输入事件?我是否可以仅根据输入事件给出的信息将数据添加到输入中?