Tag: coffeescript

用CSS3捏缩放

我正在尝试完全像在谷歌地图中那样实现捏拉缩放手势。 我观看了Stephen Woods的演讲 – “创建响应式HTML5触摸界面” – 关于这个问题,并使用了上面提到的技术。我们的想法是将目标元素的变换原点设置为(0,0)并在此处进行缩放。然后转换图像以使其在转换点居中。 在我的测试代码中,缩放工作正常。 图像在后续翻译之间放大和缩小。 问题是我没有正确计算翻译价值。 我正在使用jQuery和Hammer.js进行触摸事件。 如何在变换回调中调整计算,使图像在变换点保持居中? CoffeeScript( #test-resize是带有背景图像的div ) image = $(‘#test-resize’) hammer = image.hammer -> prevent_default: true scale_treshold: 0 width = image.width() height = image.height() toX = 0 toY = 0 translateX = 0 translateY = 0 prevScale = 1 scale = 1 hammer.bind ‘transformstart’, (event) -> toX […]

JQuery .on()没有将点击事件绑定到动态创建的元素

我有一个文本框,当我按Enter键时动态添加一个元素,另一个文本框在我单击删除按钮时删除该元素。 delete方法适用于任何现有元素,但不适用于动态插入的任何元素。 这是代码: $ -> # AJAX to add a new stock $(“#add-symbol”).keypress (e) -> if e.which == 13 url = $(this).data(‘url’) name = $(this).val() $.ajax url: url type: “POST” data: { user_id: $(‘#info’).data(‘user-id’), name: name } success: (response) -> if response.status == 200 new_element = ”+ response.symbol + ” $(‘#symbols’).append(new_element) $(‘#add-symbol’).val(”) else #deal with […]

Micropost字符倒计时(Rails教程,第2版,第10章,练习7)

我尝试了The Rails教程(第10章,练习7)中的微博字符倒计时,使用此处的信息作为基础,并在 此处和此处获得StackOverflow答案的帮助。 在屏幕上,它看起来像这样 ,当你接近字符限制时,文本逐渐变红,一旦微博超过限制,Post按钮禁用,完成就像这样 。 目前的实现如下: 视图/共享/ _micropost_form.html.haml = form_for @micropost do |f| = render ‘shared/error_messages’, object: f.object .field= f.text_area :content, placeholder: t(‘.compose_micropost’) %span .remaining= t(‘.characters_remaining’).html_safe .countdown = f.submit t(‘.post’), class: “btn btn-large btn-primary” 资产/ Java脚本/ microposts.js.coffee updateCountdownAttributes = (toRemove, toAdd = null) -> for attr in toRemove $(“.remaining, .countdown”).removeClass attr if toAdd $(“.remaining, […]

使用带有coffeescript的jquery fileupload – 在使用add callback时调整图像大小

已解决它certificate了在应用程序中加载的js的顺序.js是错误的: original: //= require jquery-fileupload/jquery.fileupload-process //= require jquery-fileupload/jquery.fileupload-image //= require jquery-fileupload/jquery.fileupload-validate correct version: //= require jquery-fileupload/jquery.fileupload-process //= require jquery-fileupload/jquery.fileupload-validate //= require jquery-fileupload/jquery.fileupload-image 我正在尝试使用BlueImp的jquery文件上传器,我已经设法让一切正常但resize。 我正在尝试调整添加回调上的图像大小,然后提交以避免任何服务器端处理。 我知道使用add回调会导致跳过进程函数,但是我在add回调本身中手动调用了它,它应该可以工作,但事实并非如此。 这是我的代码: $(‘.jquery-fileupload’).fileupload dataType: “script” imageMaxWidth: 480 imageMaxHeight: 360 disableImageResize: false autoUpload: false process:[ { action: ‘load’, fileTypes: /^image\/(gif|jpeg|png)$/, maxFileSize: 20000000 }, { action: ‘resize’, maxWidth: 480, // the images are […]

onkeyup和onfocusout在jQuery Validate中不起作用

我正在使用jQuery Validate插件进行validation。 我必须在表单上进行实时validation。 例如,如果需要名字 ,那么用户应首次获得所需的消息,并在他开始输入文本框时进入。 为了实现这个function,我正在使用插件的onkeyup和onfocusout选项。 为此,我引用了具有相同问题的链接 。 这是我用于表单validation的coffeescript代码 defaultPageForm: (self)-> form = $(“#PageForm”) if form.length > 0 form.find(‘textarea’).on ‘click’, -> $(@).valid() form.find(‘input’).on ‘click’, -> $(@).valid() form.validate ignore: “.ignore” rules: “view[name]”: required: true NameWordCount: [3] “view[comment]”: required: true CommentWordCount: [5] accept_terms: “required” messages: “view[comment]”: “Please add comment” errorElement: “span” errorClass: “error_msg wide ” errorPlacement: (error, […]

当它被称为日志时,Chrome无法识别console.log

像所有程序员一样,我很懒。 所以在我的utils.js有一个简单的行: window.log = console.log 这在firefox中运行良好,但它让Chrome像小男孩一样哭泣。 我必须编写console.log才能使它工作。 有什么建议?

什么是将JQuery Promise数组转换为数组JQuery承诺的最简洁方法?

我遇到了一个arrays中有多个JQuery Promises的情况 var arrayOfPromises = [ $.Deferred(), $.Deferred(), $.Deferred(), $.Deferred() ] 并需要将其转换为数组的JQuery承诺 var promiseOfArray = someTransform(arrayOfPromises) 哪里 promiseOfArray.done(function(anArray){ alert(anArray.join(“,”)); }); 使用文本创建警报 RESULT1,结果2,result3,result4 我目前在coffeescript中定义someTransform为 someTransform = (arrayOfPromises) -> $.when(arrayOfPromises…).pipe (promises…) -> promises 转换为以下javascript var someTransform, __slice = [].slice; someTransform = function(arrayOfPromises) { return $.when.apply($, arrayOfPromises).pipe(function() { var promises; promises = 1 <= arguments.length ? __slice.call(arguments, 0) […]

在多维数组javascript或coffeescript中获得最大价值

我有一个如下所示的数组: array = [[1, 5], [4, 7], [3, 8], [2, 3], [12, 4], [6, 6], [4, 1], [3, 2], [8, 14]] 我需要的是集合中第一个值的最大数字,所以在这种情况下为12 。 在线查看一些示例,我看到实现这一目标的最佳方式是: Math.max.apply Math, array 问题是,这仅适用于单维数组。 我怎么会为我的Senario捏造这个? (允许jquery) 最终解决方案: 这不是问题的一部分,但我需要数组中的最小值和最大值,这会改变一些事情。 unless device.IE justTheDates = magnitudeArray.map (i) -> i[0] @earliest = Math.min.apply Math, justTheDates @latest = Math.max.apply Math, justTheDates else @earliest = magnitudeArray[0][0] @latest […]