小编cre*_*tim的帖子

jQuery验证器插件:验证可选字段

问题 我想使用我创建的自定义验证器验证字段,如果字段有值,则基本上是电话号码的正则表达式,否则不需要验证,因为它是可选的.

自定义验证器:

   $.validator.addMethod('phone', function (value) {
       return /^[01]?[- .]?\(?[2-9]\d{2}\)?[- .]?\d{3}[- .]?\d{4}$/.test(value);
   }, 'Please enter a valid US phone number.');
Run Code Online (Sandbox Code Playgroud)

规则:

 phone: {
  required: true,
  phone: true
 },
 fax: {
  phone: true
 }
Run Code Online (Sandbox Code Playgroud)

我甚至尝试过:

 phone: {
  required: true,
  phone: true
 },
 fax: {
  required: function(element){
   if (!$("#cf-fax").val()) { return true; } else { return false; }
  }
  phone: true
 }
Run Code Online (Sandbox Code Playgroud)

作为参考,这是我试图引用的字段:

<input type="text" name="fax" class="optional" size="15" maxlength="14" id="cf-fax" />
Run Code Online (Sandbox Code Playgroud)

任何帮助都表示赞赏,因为我很遗憾.= \

validation jquery jquery-plugins jquery-validate

8
推荐指数
1
解决办法
9462
查看次数

gulp-connect和connect.reload

我正在尝试设置一个简单的服务器来测试一些d3.js的东西.我正在关注tagtree.tv上的截屏视频.我的代码与他匹配,但是当我对JS或SASS文件进行更改时,我无法重新加载我的index.html.

我是新手,因为我可以说事情看起来不错,但这是基于我的假设,即对connect.reload()的调用将重新加载任何浏览器正在查看其内容.应该注意的是,livereload JS正被插入到我的index.html文件中.

我的目录结构如下:

d3play
 -bower_components
 -dist
   -css
   -scripts
 - node_modules
 -sass
 -scripts
 gulpfile.js
 index.html
 package.json
Run Code Online (Sandbox Code Playgroud)

我的gulpfile.js看起来像这样:

var gulp = require('gulp'),
  connect = require('gulp-connect'),
  traceur = require('gulp-traceur'),
  sass = require('gulp-ruby-sass');

gulp.task('connect', function(){
  connect.server({
    livereload: true
  });
});

gulp.task('reload', function(){
  gulp.src('./dist/**/*.*')
  .pipe(connect.reload());
});

gulp.task('sass', function(){
  gulp.src('./sass/*.scss')
  .pipe(sass())
  .pipe(gulp.dest('./dist/css'));
});

gulp.task('traceur', function(){
  gulp.src('./scripts/*.js')
  .pipe(traceur())
  .pipe(gulp.dest('./dist/scripts'));
});

gulp.task('watch', function(){
  gulp.watch(['./sass/*.scss'], ['sass']);
  gulp.watch(['./scripts/*.js'], ['traceur']);
  gulp.watch(['./dist/**/*.*'], ['reload']);
});

gulp.task('default', ['connect', 'sass', 'traceur', 'watch']);
Run Code Online (Sandbox Code Playgroud)

javascript livereload gulp

7
推荐指数
1
解决办法
6325
查看次数

jQuery悬停依赖于两个元素

我有主导航和子导航,出于设计原因,它们位于不同的DIV中.我希望在主要导航项目悬停时显示相应的子导航,我可以这样做,但是如果用户将鼠标移动到主导航项目之外并进入子导航,我还希望保持子导航打开-nav区域.最后一部分是我被卡住的地方.

我正在考虑悬停我需要用setTimeout()和IF语句做一些事情,但我无法在该领域取得任何进展.这甚至是一种值得尝试的方法吗?

HTML:

<div id="mnav">
 <ul id="buttons">
  <li class="one"><a href="#">Main 1</a></li>
  <li class="two"><a href="#">Main 2</a></li>
  <li class="three"><a href="#">Main 3</a></li>
  <li class="four nav-dark"><a href="#">Main 4</a></li>
 </ul>
</div> <!-- /mnav -->

<div id="snav">
 <ul class="snav-one">
    <li><a href="#">Sub 1.1</a></li>
    <li><a href="#">Sub 1.2</a></li>
    <li><a href="#">Sub 1.3</a></li>
    <li><a href="#">Sub 1.4</a></li>
    <li><a href="#">Sub 1.5</a></li>
    <li><a href="#">Sub 1.6</a></li>
 </ul>
 <ul class="snav-two">
    <li><a href="#">Sub 2.1</a></li>
    <li><a href="#">Sub 2.2</a></li>
 </ul>
</div> <!-- /snav -->
Run Code Online (Sandbox Code Playgroud)

JS:

$(document).ready(function() {
 $("#buttons li.one, #buttons li.two").hover(function(){
  var subnav = 'ul.snav-' + $(this).attr('class');

  $("#snav").slideDown('fast').addClass("open").find(subnav).show();

 }, …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-hover

6
推荐指数
1
解决办法
9261
查看次数

如何制作impress.js幻灯片自动播放和循环

我有一个幻灯片,我想自动播放和循环播放.我找到了片段,让我设置一个全局幻灯片持续时间,并使用impress.next()和setInterval()调用来向前移动,但后来我失去了为每张幻灯片设置不同持续时间的能力.

javascript impress.js

6
推荐指数
1
解决办法
8082
查看次数