小编Mau*_*o74的帖子

如何模拟触摸设备上的悬停效果?

我有一个在悬停时有一些css3动画的网页,当用户触摸这些元素时,我想让它在iPad(和任何支持触摸的设备)上工作.
这是我的代码:

HTML:

<div id="headBlock">
    <a id="arm"></a>
    <div id="head">
        <div id="blink"></div>
        <div id="lid"></div>
        <div id="man"></div>
        <a id="man-arm"></a>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

JS:

//arm
$('#arm').hover(function(){
    $(this).removeAttr('style').css('bottom','244px');
    $(this).addClass('hover_effect');

    }, function(){
        $(this).removeClass('hover_effect');
});

//man arm
$('#man').hover(function(){
    $('#man-arm').removeAttr('style');
    $('#man-arm').addClass('hover_effect');

    }, function(){
        $('#man-arm').removeClass('hover_effect');
});
Run Code Online (Sandbox Code Playgroud)

您可以看到,当鼠标输入元素时,我删除了样式,然后应用样式并添加css类'hover_effect',当鼠标离开时,我删除'hover_effect'类.
如何在触摸设备上实现相同的功能?click事件没有回调,因此在单击发生后我无法删除'hover_effect'类.我尝试了mousedown和mouseup但它没有用.我搜索了stackoverflow,我发现了这个如何使用触摸启用浏览器来模拟悬停?但它没有任何效果.
任何想法的人?

谢谢
毛罗

mobile jquery hover

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

jquery如何每5秒触发同一事件

我已经建立了一个左右滚动的简单旋转木马.现在我想每5秒自动滚动一次.这是我的代码:

function carousel(){
        $j('#carousel_ul li:first').before($j('#carousel_ul li:last'));

        $j('#right_scroll img').click(function(){

            var item_width = $j('#carousel_ul li').outerWidth() + 10;

            var left_indent = parseInt($j('#carousel_ul').css('left')) - item_width;

            $j('#carousel_ul:not(:animated)').animate({'left' : left_indent},800, 'easeOutExpo',function(){

                $j('#carousel_ul li:last').after($j('#carousel_ul li:first'));

                $j('#carousel_ul').css({'left' : '-750px'});
            });
        });

        $j('#left_scroll img').click(function(){

            var item_width = $j('#carousel_ul li').outerWidth() + 10;

            var left_indent = parseInt($j('#carousel_ul').css('left')) + item_width;

            $j('#carousel_ul:not(:animated)').animate({'left' : left_indent},800, 'easeOutExpo',function(){

            $j('#carousel_ul li:first').before($j('#carousel_ul li:last'));

            $j('#carousel_ul').css({'left' : '-750px'});
            });

        });
}
Run Code Online (Sandbox Code Playgroud)

我如何实现这一目标?提前致谢 :)

毛罗

jquery timed-events

4
推荐指数
2
解决办法
2万
查看次数

jquery循环通过不同的背景

我试图改变不同的背景,通过一个图像阵列循环div,并每5秒计时一次.

这是我的代码:

function changeBG(){

     //array of backgrounds
     var array = ["test.jpg", "test2.jpg", "test3.jpg",];


     for ( var i=0, len=array.length; i<len; ++i){
         $('.round-mask').css('background-image', 'url("images/work/'+array[i]+'")');

      }

}

window.setInterval(changeBG(), 5000);
Run Code Online (Sandbox Code Playgroud)

这不起作用,我可以看到它正在循环,但我总是得到第三张图像.

任何的想法?

提前致谢.

毛罗

jquery loops background

3
推荐指数
1
解决办法
5265
查看次数

jQuery如何检索ap标签中的字符数?

我的问题很简单:我想知道'p'标记内有多少个字符,如果数量超过100,则会在悬停时触发一个事件。我试图像这样检索字符数:

var charLength = $('.myPar').val().length;
<p class="myPar">this is the content of the paragraph</p>
Run Code Online (Sandbox Code Playgroud)

它始终返回零作为值,并且似乎仅适用于文本区域或输入标签。任何的想法?

提前致谢!

毛罗

jquery character

2
推荐指数
1
解决办法
6190
查看次数

php写文件和设置权限

我正在尝试创建一个php文件,我可以直接编辑而无需手动设置权限.

我正在尝试这个......

<?php

$var = '<?php $mycontent = new Content(); echo $mycontent->block($p_name);?>';

$myFile = "testFile.php";

$fh = fopen($myFile, 'w+') or die("can't open file");

$stringData = $var;

fwrite($fh, $stringData);

fclose($fh);

?>
Run Code Online (Sandbox Code Playgroud)

...它创建了文件,但是当我尝试在IDE中编辑文件时,它当然不会让我.我必须手动设置创建的文件的权限.有什么方法可以创建文件并已设置权限吗?

提前致谢

毛罗

php file-permissions

2
推荐指数
2
解决办法
2万
查看次数

SIlverstripe检查.ss文件中的页面名称

我想检查模板.ss文件 - 页面名称或标题,以显示不同的图像.我想做那样的事情:

<% if $SiteConfig.Title == 'video' %> 
   <img src="themes/blackcandy/images/image.jpg" /> 
<% else if $SiteConfig.Title == 'bio' %> 
   <img src="themes/blackcandy/images/image1.jpg" /> 
... 
...

<% end_if %>
Run Code Online (Sandbox Code Playgroud)

上面的代码当然不起作用.我该怎么做?有没有更有效的方法呢?

非常感谢.
毛罗

templates silverstripe

2
推荐指数
1
解决办法
2904
查看次数

setInterval不适用于ajax调用

我有一个getJson调用web服务,工作正常,现在我试图每10秒发出一次请求.使用带有回调函数的setInterval来触发警报弹出.我不能让它发挥作用.这是代码:

function ajxCall(){
   $.getJSON('http://api.tubeupdates.com/?method=get.status&lines=all&return=name,status,messages,status_starts&jsonp=?',
         function (result){
               $.each(result.response.lines, function(i, item){
                    $('#status').append("<p>"+item.name + " - " + item.status + " <br><b>" +item.messages + "</b> " + item.status_starts + "</p>");
               });
         }); 
    }

setInterval(ajxCall(), (10 * 1000), function(){
    alert('called!')
});
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

提前致谢,

毛罗

ajax setinterval

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

jquery取代不工作

我有2个文本框,一个名为'title',一个名为'url'.使用jquery .blur()我将'title'的值复制到'url'值并且我用下划线替换空格,但由于某种原因它只替换第一个空格而不是全部空格:这是代码:

$("#title").blur(function(){
      var myval = $(this).val().replace(" ", "_");
      $("#url").val(myval);
 });
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

提前致谢

jquery replace

0
推荐指数
1
解决办法
1万
查看次数

Javascript正则表达式从字符串中提取年份

我正在尝试使用正则表达式从时间戳中提取年份,但我不是很擅长,所以我的代码没有返回预期的内容.

这是字符串:' Sun Jan 01 2012 00:00:00 GMT + 0000(GMT) '

我需要在这里提取'2012'是我的代码:

var scrollDate = tl.getBand(0).getCenterVisibleDate(); // my timestamp

// regex function
function extractNumbers(str) {
     var m = /(^|\s)(\d{4})(\s|$)/.exec(str);
     return m;
}

// click event
$('.n-left').click(function(){
     alert(extractNumbers(scrollDate));
});
Run Code Online (Sandbox Code Playgroud)

警报框返回:2012年,2012年,

我究竟做错了什么?提前致谢

javascript regex jquery timestamp

0
推荐指数
1
解决办法
1585
查看次数

在jquery 1.9中替代die()

.die()方法已从jQuery 1.9中删除.知道如何实现同样的事情吗?我试图在某些链接上杀死页面加载时的点击处理程序.

谢谢

jquery

0
推荐指数
1
解决办法
7282
查看次数