Цель моего кода - позволить пользователям загружать свое собственное изображение и иметь возможность размыть его. Часть загрузки изображений работает, но значение диапазона - нет.
Пример: пользователь загружает изображение, и он хочет размыть его на 20%, он может переместить ползунок примерно до 20%, и это изменит размытие изображения с идентификатором «userIMG».
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.slidecontainer {
width: 100%;
}
.slider {
-webkit-appearance: none;
width: 100%;
height: 25px;
background: #d3d3d3;
outline: none;
opacity: 0.7;
-webkit-transition: .2s;
transition: opacity .2s;
}
.slider:hover {
opacity: 1;
}
.slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 25px;
height: 25px;
background: black;
cursor: pointer;
}
.slider::-moz-range-thumb {
width: 25px;
height: 25px;
background: #4CAF50;
cursor: pointer;
}
</style>
</head>
<body>
<input type="file" onchange="previewFile()"><br>
<img id="userIMG" src="" height="200" alt="Image preview...">
<script>
function previewFile(){
var preview = document.querySelector('img'); //selects the query named img
var file = document.querySelector('input[type=file]').files[0]; //sames as here
var reader = new FileReader();
reader.onloadend = function () {
preview.src = reader.result;
}
if (file) {
reader.readAsDataURL(file); //reads the data as a URL
} else {
preview.src = "";
}
}
previewFile(); //calls the function named previewFile()
</script>
<div class="slidecontainer">
<p>Blur Range Slider</p>
<input type="range" min="1" max="100" value="50" class="slider" id="efBlur-RANGE">
</div>
<script>
function effectBlur() {
// Standard syntax
var x = document.getElementById("efBlur-RANGE").value;
document.getElementById("userIMG").style.blur = "blur(x%)";
// Safari 6.0 - 9.0
var x = document.getElementById("efBlur-RANGE").value;
document.getElementById("userIMG").style.WebkitBlur = "blur(x%)";
}
</script>
</body>
</html>