而不是带图像的分割元素,主页上显示输入元素

时间:2015-10-10 16:29:49

标签: javascript jquery html css

  

问题已解决。输入元素HTML中的机会type="submit"type="image"

在我的主页上,我有一颗心的形象。它是交互式的,可以点击。 在这几天里,我对html / css / js做了很多改动..所有都记录在github上。

从今天早晨起,心脏图像不再作为默认显示在主页上,而是显示了输入元素。当我点击它时,它再次显示心脏图像并继续正常工作。

是否可能是由于javascript的时间问题?还是我忽略了什么?我从早上起就一直在查看我的代码。我确信它一定是蠢事......

现在我的互联网非常糟糕,所以我无法上传任何图片。但指向正确方向的手会很棒。

https://jsfiddle.net/yzac8we8/

我在html中显示的图像如下:

<div id="tapDiv"><input type="submit"  id="search" src="img/heart.png" value=""><div>

并且JS看起来像这样:

//Start Heart Beat Calculation
var lastTapSeconds = 0;
                        var bpm = 0;

                        //extra variabelen voor functionaliteit uitbreiding.
                        var beats = [];
                        var average = 0;
                        var count = 0;

                        var tapDiv = document.getElementById("tapDiv");

                        $(tapDiv).on('click', function() {
                        var tapSeconds = new Date().getTime();

                        bpm = ((1 / ((tapSeconds - lastTapSeconds) / 1000)) * 60);
                        lastTapSeconds = tapSeconds;
                        tapDiv.innerHTML = '<h1 style="display:inline;">' + Math.floor(bpm) + '</h1><img style="height:256px;width:256px;" src="img/heart.png"/>';

                        //extra functionaliteit
                        beats.push(Math.floor(bpm));
                        average *= count;  //average = average * count
                        average += Math.floor(bpm);  //average = average + count
                        count++;
                        average /= count;  //average = average / counterIncrement

                        //als array entries 10 heeft bereikt geef prompt met gemiddelde bpm.
                        if(beats.length >= 10) {
                        //alert("Your Average Beats Per Minute: " + average);

                            if ( average > 60 && average < 100 )
                            alert( "You have a normal resting heart rate. Good Job!" );
                            else if ( average < 60 )
                            alert( "You have an efficient heart function and better cardiovascular fitness. Keep it up!" );
                            else if ( average > 100 )
                            alert( "Your resting heart has an high average, indicating an unefficient and most likely unhealthy heart." );
                            else
                            alert( "Please measure again, your measurements seem unregular..." );

                            if(beats.length >=10){

                               beats.length = 0;
                               bpm = 0; 
                           }                        
                          }
                        });

请理解我将其封装在一堆其他代码中,这些代码构成了Web应用程序的特性。因此,更多维度可能对此问题产生影响。

那么实际问题是:在我的主页上,它应该在分割元素中显示心脏的图像。像往常一样。我可以点击心脏,因为它是互动的。但是,目前它只显示和输入元素而不是心脏。但我只需要点击输入元素,它就会回到心脏图像的旧(正常)设计。每当我按下刷新页面或第一次开始访问网页时,它就会返回。

  

问题已解决。输入元素HTML中的机会type="submit"type="image"

这个问题在假设重复的上下文中是独一无二的,因为输入元素的类型为&#34;提交&#34;虽然它不应该有,但它已经奏效了。这可能是因为代码中的jQuery年表也使用内部HTML作为输入元素中使用的图像(由分区封装)。它已经受到影响,它已经成功地在这几周内受到关注。

1 个答案:

答案 0 :(得分:0)

改变:

<div id="tapDiv"><input type="submit"  id="search" src="img/heart.png" value=""><div>

为:

<div id="tapDiv"><input type="image"  id="search" src="img/heart.png" value=""><div>

关于这一点的奇怪之处在于逻辑很明显。但是,它很可能是因为它已经使用type =“submit”几周了。这几天我已经对网络应用程序进行了至少23次提交,因此不知何故有一些影响使得它如此,它“错误”默认更正。