Вы проверяете на основе diff
, разве вы не хотите проверить, больше ли оно?
Отрицательные числа оцениваются в true
.
Boolean(-1);//true
Boolean(50);//true
Boolean(-500);//true
Boolean(-0.001);//true
Boolean(0);//false
Вот как я бы создать новый образ с атрибутом источника, выбранные на основе дифференциала, который превышает 0. Обратите внимание, я использую фактические элементы, поэтому я меняю атрибут вместо src
строковое значение, которое, как мне кажется, создает более читаемый код.
var diff = maxval - ui.value;
var img = new Image();
img.src = (diff > 0) ? "yes.png" : "no.png";
img.width = "50px";
img.height = "50px";
$("#output").empty().append(img);
Вот полностью ваниль решение, в том числе текстовый узел:
var diff = maxval - ui.value;
var img = new Image();
img.src = (diff > 0) ? "yes.png" : "no.png"; // assuming you mean to check positive value
img.width = "50px";
img.height = "50px";
var el = document.getElementById("output");
el.appendChild(img);
var text = (diff > 0) ? "diff" : "no diff";
var txt = document.createTextNode(text);
el.appendChild(txt);
Хотя преимущества этого «более» кода не кажется очевидным на первый, очень легко манипулировать. Я работаю с элементами DOM напрямую, а не с строк, я могу легко добавлять или удалять атрибуты, изменять свойства, клонировать их и т. Д.
Какой элемент является "выход"? Один div? –
Что значит «не работает»? – 11684
11684, Как и в, изображения не отображаются в единственном выходе div @Filippos Karapetis – Dave