私のウェブサイトにはスライダがあり、スライダの値は500 - 2500、100ステップです。私は値を取るコードを少し持ち、その値をリンクと関連付けるので、ボタンのリンクはスライダーの値によって変わります。私が抱えている問題は、ウェブサイトが最初に読み込まれたときです。スライダーを動かさずに「go」ボタンを押すと、値に設定したリンクには移動しませんが、コンソールにエラーが表示されます「に接続できません。/500(値が500の場合)ですが、スライダを動かすとスクリプトがアクティブになり、別の値で「go」ボタンを押します。私はそれはので、私のスクリプトはすぐにアクティブに作るのですか?ここでは、コードJavaScriptスライダの問題
var slider = document.getElementById("myRange");
var output = document.getElementById("demo");
var link = document.getElementById("link");
output.innerHTML = slider.value; // Display the default slider value
link.setAttribute('href',slider.value);
// Update the current slider value (each time you drag the slider handle)
slider.oninput = function() {
output.innerHTML = this.value;
if(this.value==500)
link.setAttribute('href','500.html');
else if(this.value==600)
link.setAttribute('href','jesus.html');
else if(this.value==700)
link.setAttribute('href','bing.html');
else
link.setAttribute('href','bing.html');
}
#slidecontainer {
width: 50%;
/* Width of the outside container */
margin-left: auto !important;
margin-right: auto !important;
}
/* The slider itself */
.slider {
-webkit-appearance: none; /* Override default CSS styles */
appearance: none;
width: 100%; /* Full-width */
height: 25px; /* Specified height */
background: #d3d3d3; /* Grey background */
outline: none; /* Remove outline */
opacity: 0.7; /* Set transparency (for mouse-over effects on hover) */
-webkit-transition: .2s; /* 0.2 seconds transition on hover */
transition: opacity .2s;
}
/* Mouse-over effects */
.slider:hover {
opacity: 1; /* Fully shown on mouse-over */
}
/* The slider handle (use webkit (Chrome, Opera, Safari, Edge) and moz (Firefox) to override default look) */
.slider::-webkit-slider-thumb {
-webkit-appearance: none; /* Override default look */
appearance: none;
width: 25px; /* Set a specific slider handle width */
height: 25px; /* Slider handle height */
background: #4CAF50; /* Green background */
cursor: pointer; /* Cursor on hover */
}
.slider::-moz-range-thumb {
width: 25px; /* Set a specific slider handle width */
height: 25px; /* Slider handle height */
background: #4CAF50; /* Green background */
cursor: pointer; /* Cursor on hover */
}
<section id="banner">
<header>
<h2>Choose Budget</h2>
</header>
<div id="slidecontainer">
<input type="range" min="500" max="2500" value="500" step="100" class="slider" id="myRange">
</div>
<ul class="Slider">
<li>
<p>Price Point: $<span id="demo"></span></p>
</li>
<br>
<a href="#" class="button style3" id="link">Go</a>
<br>
</ul>
</section>
最も簡単な修正方法は、 'link.setAttribute( 'href'、slider.value);'を 'link.setAttribute( 'href'、 '500.html');'(5行目のあなたのスクリプトの質問に) –
ok。ありがとうございました。非常に簡単な修正。それは有り難いです。 – NoThankd