Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS计数器的小问题_Javascript_Jquery - Fatal编程技术网

Javascript JS计数器的小问题

Javascript JS计数器的小问题,javascript,jquery,Javascript,Jquery,我正试图根据上一页传递的URL选择要显示的特定图像, 我得到3个URL中的一个,或者1个或2个 我需要向数字中添加1并发送相应的图像,出于某种原因,我得到了图像0的假图像,而对于图像2和3,我得到了-1图像(1和2) 我试图创建的计数器有问题,我不知道是什么 <script type="text/javascript"> $(document).ready(function(){ var numb = document.URL.substr(docum

我正试图根据上一页传递的URL选择要显示的特定图像, 我得到3个URL中的一个,或者1个或2个 我需要向数字中添加1并发送相应的图像,出于某种原因,我得到了图像0的假图像,而对于图像2和3,我得到了-1图像(1和2)

我试图创建的计数器有问题,我不知道是什么

    <script type="text/javascript">
    $(document).ready(function(){
        var numb = document.URL.substr(document.URL.indexOf('#')+1);
        $('[name=mobileBar]').val(numb);
        $('.couponImage').attr('src','img/bar'+numb+'.png');
    });
</script>

$(文档).ready(函数(){
var numb=document.URL.substr(document.URL.indexOf('#')+1);
$('[name=mobileBar]').val(numb);
$('.couponImage').attr('src','img/bar'+numb+'.png');
});

这是因为您没有向计数器中添加1。。。这应该行得通

var numb = document.URL.substr(document.URL.indexOf('#')+1);
numb = parseInt(numb,10) + 1;

$(文档).ready(函数(){
var numb=parseInt(document.URL.substr(document.URL.indexOf('#'))+1),10)+1;
$('[name=mobileBar]').val(numb);
$('.couponImage').attr('src','img/bar'+numb+'.png');
});

注意第一行末尾的
+1
。您似乎混淆了
document.URL.indexOf(“#”)+1
。这个
+1
是将索引和子字符串增加1,而不是将提取的数字加1。

不要忘记
parseInt
的基数参数@Amit Sonnenschein:你使用了parseInt(在我的回答中)?@Bergi:谢谢你指出。在他的案例中,有1个案例以“0”开头。最好指定基数。@KhanhTO不,我没有,因为我对js不是很有经验,你能告诉我吗?@Amit Sonnenschein:你应该使用parseInt,否则它是字符串连接,不是加法。请查看我的更新答案,其中包含parseInt方法的基数参数(10)reason@Amit因为没有parseInt。这将是字符串连接,而不是加法。是的,正确。更新,谢谢!第二个参数10是转换的基础,例如,如果使用2,它将转换为二进制,如果使用8,它将转换为八进制。
<script type="text/javascript">
    $(document).ready(function(){
        var numb = parseInt(document.URL.substr(document.URL.indexOf('#')+1),10)+1;
        $('[name=mobileBar]').val(numb);
        $('.couponImage').attr('src','img/bar'+numb+'.png');
    });
</script>