#jquery #image #input #background #transition
#jquery #изображение #ввод #фон #переход
Вопрос:
Что я хочу сделать, так это создать веб-страницу, которая меняет свое фоновое изображение в ответ на введенную пользователем строку. Если строка соответствует единице, она изменит исходное изображение на соответствующее изображение. Однако это работает только для определенных строк. Другими словами, вы не получите изображение цветка только потому, что вы ввели flower
. Если строка не совпадает с кодом, ничего не происходит.
Я уверен, что есть какой-то способ сделать это с switch
помощью оператора, хотя я не уверен, как.
Комментарии:
1. Следуя ответам Бена и sany2k8, я придумал это в качестве тестовой скрипки: jsfiddle.net/mnbishop017/xHbK5
Ответ №1:
Если я вас правильно понял, это должно сработать:
$(function() {
var $backgroundElm = $("#bkelm");
$("#inputelm").on("keyup", function () {
console.log("working..." $(this).val());
if ($(this).val() === 'flower') {
$backgroundElm.css("background-image", "url(http://t2.gstatic.com/images?q=tbn:ANd9GcQiCAV98SUrpkGrWgUXvJ8dZYzZQmxyBVMr2v9cDJoyy2grjrDw)");
} else if ($(this).val() === "yellow") {
$backgroundElm.css("background-color", "yellow");
}
});
});
и вот живой пример
Комментарии:
1. Я надеялся, что изменение произойдет, когда я нажму Enter / Return, а не сразу.
2. Измените ‘keyup’ на ‘change’
3. если вы хотите, чтобы кнопка делала это, просто добавьте кнопку и привяжите ее к событию щелчка. Дайте мне знать, если вам нужна помощь в этом. Это очень просто.
Ответ №2:
Попробуйте этот способ, приятель
$('#target').keyup(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
//do you backgroud change functionality here
if ($(this).val() === 'a'){
//do something
}
else if ($(this).val() === "b") {
//do something else
}
}
});