1

我是 javascript 的初学者,现在我正在学习 railscast。我有问题如何编写这个脚本,用咖啡脚本写成普通的 JS。有人可以这样做:

jQuery ->
  if $('.pagination').length
    $(window).scroll ->
      url = $('.pagination .next_page').attr('href')
      if url && $(window).scrollTop() > $(document).height() - $(window).height() - 50
        $('.pagination').text("Fetching more products...")
        $.getScript(url)
   $(window).scroll()

  $('.tooltip').tooltipster(
    animation: 'grow'

    );

我尝试使用“ jQuery(function($) { ”,但它不起作用。

4

3 回答 3

2

我使用http://js2coffee.org/在两者之间进行转换

于 2013-07-14T13:22:58.977 回答
0

你必须这样做:

jQuery(function() {
  if ($('.pagination').length) {
    $(window).scroll(function() {
      var url;
      url = $('.pagination .next_page').attr('href');
      if (url && $(window).scrollTop() > $(document).height() - $(window).height() - 50) {
        $('.pagination').text("Fetching more products...");
        return $.getScript(url);
      }
    });
  }
  return $(window).scroll();
});

$('.tooltip').tooltipster({
  animation: 'grow'
});

无论您在哪里看到->,都将其更改为function():)

于 2013-07-14T12:24:36.860 回答
0
$(document).ready(function(){
  if ($('.pagination').length > 0)
    $(window).scroll(function(){
      var url = $('.pagination .next_page').attr('href')
      if (url != null && $(window).scrollTop() > $(document).height() - $(window).height() - 50){
          $('.pagination').text("Fetching more products...");
          $.getScript(url);
        }
    });
    $(window).scroll();

  $('.tooltip').tooltipster(
    animation: 'grow'
  );
});

变化:

  1. --> => function(){}
  2. if url => if(url != null...)
  3. 一些分号;
  4. if length => if(length > 0)

附带说明:在包含jQuery之后包含您的脚本。

我在评论中看到了你,其中包括 js 中的一个文件。这不是在 HTML 中包含 jQuery 脚本甚至纯 js 脚本的方式。你需要这样做(在<head>你的 HTML 标记中添加这个:

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script src="your_file_name.js" type="text/javscript"></script>
于 2013-07-14T12:28:02.797 回答