Javascript 区分输入范围
我目前正在创建一个由多个HTML范围组成的应用程序Javascript 区分输入范围,javascript,jquery,Javascript,Jquery,我目前正在创建一个由多个HTML范围组成的应用程序 <input id="r1" type="range" min="0" max="100" value="50" step="50" onChange="showValue(this.value)" /> getContent将情绪作为参数,搜索xml文件并返回与情绪匹配的所有结果: function getContent(mood) { $(xmlDoc).find("program").each(function()
<input id="r1" type="range" min="0" max="100" value="50" step="50" onChange="showValue(this.value)" />
getContent
将情绪作为参数,搜索xml文件并返回与情绪匹配的所有结果:
function getContent(mood) {
$(xmlDoc).find("program").each(function(){
// this is where all the reading and writing will happe
if ($(this).find('mood').text() == mood) {
$("#content").append(
'<p>Name: ' + $(this).find('name').text() +
'<br> Mood: ' + $(this).find('mood').text() +
'</p>'
);
}
});
}
函数getContent(mood){
$(xmlDoc).find(“程序”).each(函数(){
//这是所有阅读和写作的地方
if($(this).find('mood').text()==mood){
$(“#内容”)。追加(
“Name:”+$(this.find('Name').text()+
“
情绪:”+$(this).find('Mood').text()
“”
);
}
});
}
我的目标是创造一个传统的3个范围,持有不同的情绪。如何处理
showValue
函数中的不同范围,使它们都独立工作 您要做的是使所有输入使用相同的功能,但根据其某些属性执行不同的操作,在本例中为id
:
function doIt($elem) {
if ($elem.attr('id') == 'r1') {
$("#output").html('action1' + $elem.val());
}
else if ($elem.attr('id') == 'r2') {
$("#output").html('action2' + $elem.val());
}
}
$('input').on('input', function(){
doIt($(this));
});
您可以在javascript中创建一个数组来保存情绪值
var moods=[["Agitated","Calm"],["sad","happy"],["angry","smiling"]];
function showValue(newValue,id) {
if (newValue == 100)
{
document.getElementById("range").innerHTML = moods[id][1];
mood = moods[id][1];
resetContent();
getContent(mood);
}
else if (newValue == 0)
{
document.getElementById("range").innerHTML = moods[id][0];
resetContent();
mood = moods[id][0];
getContent(mood);
}
else
{
document.getElementById("range").innerHTML = "";
resetContent();
}
}
演示:如果答案解决了您的问题,请接受它。否则让我知道你在找什么。这是一个完美的解决方案。非常感谢。作为附带问题;你知道当另一个滑块被更改时,如何将所有其他滑块重置回值50吗?是的,你可以很容易地做到这一点,请检查:如果你不理解代码,请告诉我
var moods=[["Agitated","Calm"],["sad","happy"],["angry","smiling"]];
function showValue(newValue,id) {
if (newValue == 100)
{
document.getElementById("range").innerHTML = moods[id][1];
mood = moods[id][1];
resetContent();
getContent(mood);
}
else if (newValue == 0)
{
document.getElementById("range").innerHTML = moods[id][0];
resetContent();
mood = moods[id][0];
getContent(mood);
}
else
{
document.getElementById("range").innerHTML = "";
resetContent();
}
}