1 Востаннє редагувалося Chemist-i (26.01.2019 15:14:29)

Тема: чому не працює?

    <div onclick="ball()" class = "ducttape"></div></div>
</body>
<script>
    $(document).ready(function(){
        $(".ducttape").click(function(){
            alert('aaaaaa');
        });
    });
</script>

2

Re: чому не працює?

У мене працює. ЩЯРНТ?

3

Re: чому не працює?

Олексій написав:

чому не працює?

<div onclick="ball()" class = "ducttape"></div></div>
</body>
<script>
$(document).ready(function(){
$(".ducttape").click(function(){
  alert('aaaaaa');
});
});
</script>

Що пише консоль ?
Що саме не працює ?

1) onclick="ball()" ?
- немає функції ball() - нема чого виконувати.

2) код в тегу script ?
- ви закрили тег body прямо перед ним, документ не валідний, броузер не мусить виконувати цей код.

3) $ ?
4) $(document).ready ?
5) $(".ducttape").click ?
- а звідки броузер повинен знати що то за функція $ ?, не бачу підключення jQuery.

6) alert ?
- якщо ви натиснули на галочку біля "Більше не показувати", то це лікується перезавантаженням сторінки в більшості бро.
- або в налаштуваннях броузера збережено приховувати alert'и.

Подякували: 221VOLT, Chemist-i2

4 Востаннє редагувалося Олексій (26.01.2019 21:28:24)

Re: чому не працює?

Дякую. Хотів ще одне запитати, але вже сам розібрався, а видаляти повідомлення не вмію.

5

Re: чому не працює?

Скажіть будь ласка, що тут не так:

$(".ducttape").onclick = function() {potato()};
function potato(){
if(this.classList.contains('ball')){
    a=1;
}else{
    $(this).addClass("ball");
    new Audio('ducttape.mp3').play();
    var posy = $(this).offset().top
    var length = posy + 165;
    $(this).animate({top:length}, "slow");
    a = 1;
}
}

6 Востаннє редагувалося koala (29.01.2019 17:14:36)

Re: чому не працює?

Тут неправильно розставлені відступи.
Ну і на майбутнє - якщо ви вважаєте, що щось у коді не так, пояснюйте, чому ви так вважаєте. Ми не телепати, а по коду, який робить не те, що треба, засадничо неможливо встановити, що саме було треба - хоча б тому, що він робить щось інше.

Подякували: leofun011

7

Re: чому не працює?

Ну і телепатично - перевірте значення this в potato; підозрюю, що ви не це мали на увазі, але точно сказати не можу.

8

Re: чому не працює?

Знову нове. Дуже потрібна ваша допомога.

hello.onmousedown = function(e){
    tion(e);
}
ball.onmousedown = function(e){
    tion(e);
}

function tion(e) {
    var elem = e.target;

    if(elem.className == "screen"){
        //code 
    }

    if(elem.className && elem.className.indexOf('bob')>=0) { 
        elem.ondragstart = function() {return false}; 
        var coor = elem.getBoundingClientRect(); 
        var osx = e.offsetX; 
        var osy = e.offsetY; 
        elem.style.position = 'fixed';
        elem.style.top = coor.top+'px'; 
        elem.style.left = coor.left+'px'; 

        document.onmousemove = function(ev){
            var x = ev.clientX;
            var y = ev.clientY; 
            var winX = document.documentElement.clientWidth; 
            var winY = document.documentElement.clientHeight;
            if (x+coor.width>winX+osx) {x=winX-coor.width+osx}; 
            if (x-osx<0) {x=osx};
            if (y<=osy) { 
                y = osy; 
            };
            if (y>=(winY-coor.height+osy)) {  
                y=winY-coor.hieght-osy; 
            }
            elem.style.left = x-osx+'px'; 
            elem.style.top = y-osy+'px'; 
            removeSelect(); 
        }
    }

} //закрывает tion

document.onmouseup = function(e) { 
    var elem = e.target; 
    if (elem.className && elem.className.indexOf('bob')>=0) {
    go(elem);
    }
    document.onmousemove = function() {return false};
}

function removeSelect() { 
    var b =document.body; 
    b.style.webkitUserSelect = b.style.mozUserSelect = b.style.msUserSelect = 'none'; 
};

function getCoords(element) {
  var box = element.getBoundingClientRect();
  return {
      left: pageXOffset + box.left,
      top: pageYOffset + box.top
  }
};

thumb.ondragstart = function(e) {
  return false;
};

function go(elem){
    var W = document.documentElement.clientHeight - 40 + 'px';
    $(elem).animate({top:W});
}

Ідея така:
ми можемо пересувати лише елементи з класом bob, вони ж змінна ball. Після пересування об'єкт падає на нижній край екрана.
Як виходить:
Ми можемо пересувати лише перший в html розмітці елемент з класом ball, другий не реагує.
Після пересування елемент падає на нижній край екрана, і після цього його вже не підняти.

9

Re: чому не працює?

Будь ласка, наводьте фрагменти коду, достатні для відтворення вашої проблеми в тих, хто хоче вам допомогти.
Якщо ви абсолютно певні, що проблема саме в цьому коді - поясніть, чому ви так вважаєте.
Якщо проблема може бути десь іще - то чому не наводите той код?
Існує купа сайтів на кшталт jsfiddle, де можна викласти код веб-сторінки для спільної роботи та обговорення.

10

Re: чому не працює?

Вже все виправив, дякую