При наведении на обьект должна меняться рандомная позиция обьекта. А именно рандомно из массива береться один из 4 свойств и к нему прилагаеться число. Но когда попытался запустить(навести на обьект) консоль выдала ошибку Uncaught TypeError: e.replace is not a function. Ошибка ведет к файлу фреймворка. Вариантов нет. Код:
$(document).ready(function() {
var vector;
var trackM = ["left", "right", "top", "bottom"];
var track;
var color = "red";
//functions
function r_vector() {
vector = Math.round(Math.random() * (1445 - 1) + 1);
}
function r_track() {
track = Math.floor(Math.random() * trackM.length);
}
//code
$('#box').on('mouseenter', function() {
$('#box').css({"tansition" : "1s"});
r_vector();
r_track();
$('#box').css(vector, trackM[track]);
});
$('#box').on('mouseleave', function() {
$('#box').css({"transition" : ".5s"});
});
});
Я думаю ошибка в этой функции
function r_track() {
track = Math.floor(Math.random() * trackM.length);
}
у вас trackM.length = 4
например Math.random() выдало 0.6
Math.floor округлило - получилось 1
1 * 4 - получилось 4
а такого элемента в массиве trackM нет, ттам есть 0, 1,2,3
Да и потом - у вас только 2 варианта получается либо 0 либо 4.
что бы сгенерить случайное число от 1 до 4,
попробуйте функцию
function getRandomInRange(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
getRandomInRange(1, 4)
и потом в $('#box').css(vector, trackM[track]); пишите $('#box').css(vector, trackM[track - 1]); (ну или минус 1 можно раньше отнять,)
Получается, что правая сторона, содержащая скрытый блок в мобильной версии имеет скролМожно ли как то поправить?
Есть сайт, его высота скажем 300vh (3 экрана пользователя) Пользователь начинает скроллить, как сделать что бы в первом случае (при взгляде на "первый...
Всем привет! Я использую MySQL + PHP + Ajax Ошибка похоже возникает после обработки ajax'ом: