Preload Text / Decimal% Percent Counter Only - PullRequest
0 голосов
/ 02 июня 2018

У меня есть скрипт, который прекрасно работает для предварительной загрузки моих изображений, и индикатор выполнения прекрасно работает вместе с ним.

Мне нужен процентный счетчик с ним.Может ли он быть интегрирован в этот существующий скрипт?

В настоящее время он показывает статический «0%».Если я не могу добавить к этому сценарию и заставить его автоматически вычислять 0% до 100% после завершения, тогда я просто полностью удалю 0%.

Вот ссылка на скрипку: https://jsfiddle.net/flipflopmedia/5fpk4a0c/5/

<head>

<title>Preload Image Page</title>

<script>

// You may modify the following:
var locationAfterPreload = "http://www.google.com" // URL of the page after preload finishes
var lengthOfPreloadBar = 150 // Length of preload bar (in pixels)
var heightOfPreloadBar = 15 // Height of preload bar (in pixels)
// Put the URLs of images that you want to preload below (as many as you want)
var yourImages = new Array(
    "http://www.safarivet.com/wp-content/themes/safarivet/images/careers/imagemap/Safari_Career_Path.png",
    "http://www.safarivet.com/wp-content/themes/safarivet/images/careers/imagemap/Safari_Career_Path_with_Rollovers_ani-2-new.gif"
)

// Do not modify anything beyond this point!
if (document.images) {
var dots = new Array() 
dots[0] = new Image(1,1)
dots[0].src = "http://www.safarivet.com/wp-content/themes/safarivet/images/careers/imagemap/preload_black_bar.gif" // default preloadbar color (note: You can substitute it with your image, but it has to be 1x1 size)
dots[1] = new Image(1,1)
dots[1].src = "http://www.safarivet.com/wp-content/themes/safarivet/images/careers/imagemap/preload_blue_bar.gif" // color of bar as preloading progresses (same note as above)
var preImages = new Array(),coverage =  Math.floor(lengthOfPreloadBar/yourImages.length),currCount = 0
var loaded = new Array(),i,covered,timerID
var leftOverWidth = lengthOfPreloadBar%coverage
}
function loadImages() { 
for (i = 0; i < yourImages.length; i++) { 
    preImages[i] = new Image()
    preImages[i].src = yourImages[i]
}
for (i = 0; i < preImages.length; i++) { 
    loaded[i] = false
}
checkLoad()
}
function checkLoad() {
if (currCount == preImages.length) { 
    location.replace(locationAfterPreload)
    return
}
for (i = 0; i <= preImages.length; i++) {
    if (loaded[i] == false && preImages[i].complete) {
        loaded[i] = true
        eval("document.img" + currCount + ".src=dots[1].src")
        currCount++
    }
}
timerID = setTimeout("checkLoad()",10) 
}

</script>

</head>

<body>

<center>
<p>
Please be patient while some images<br>
are being preloaded...
</p>
<p>
0%
<script>
// It is recommended that you put a link to the target URL just in case if the visitor wants to skip preloading
// for some reason, or his browser doesn't support JavaScript image object.
if (document.images) {
var preloadBar = ''
for (i = 0; i < yourImages.length-1; i++) {
preloadBar += '<img src="' + dots[0].src + '" width="' + coverage + '" height="' + heightOfPreloadBar + '" name="img' + i + '" align="absmiddle">'
}
preloadBar += '<img src="' + dots[0].src + '" width="' + (leftOverWidth+coverage) + '" height="' + heightOfPreloadBar + '" name="img' + (yourImages.length-1) + '" align="absmiddle">'
document.write(preloadBar)
loadImages()
}
document.write('<p><small><a href="javascript:window.location=locationAfterPreload">Skip    Preloading</a></small></p>')
</script>
</p>
</center>

В реальной среде он будет перенаправлен на выбранную мной страницу после того, как все предварительно загружено.Эта часть сценария не работает в скрипке, поэтому не беспокойтесь об этом.

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...