365 일 동안 하루에 한 번씩 찍은 사진의 '시각 일기'를 포트폴리오 사이트에서 작성했습니다. 그는 내가 이것을 시간 저 효과 조각에 넣기를 원한다. Flash 사용에 대해 생각했지만 결국 JavaScript를 선택했습니다.자바 스크립트 timelapse-effect : 초당 30 개의 이미지를 표시합니다. (자세한 내용은 읽기)
어떤 일이 일어날 필요가 있는가? 이미지는 전환이나 아무 것도없고 정말로 이미지 - 이미지 - 이미지 등으로 정말로 빠르게 순환합니다. 약 30/fps 정도입니다. 깜박이는 이미지를 클릭하면 선택한 이미지에서 멈추어 사용자가 볼 수 있습니다. 다시 클릭하면 슬라이드 쇼가 다시 시작됩니다.
제 문제는 제가 JavaScript에 대해 가장 안좋은 PHP/XHTML/CSS 녀석입니다. 나는 그것을 어떤 페이지에도 행복하게 통합 할 수 있지만, JavaScript를 코딩하는 것은 저를 괴롭 히고 있습니다.
<!-- Code for slideshow -->
<!-- Found on http://www.webdeveloper.com/forum/showthread.php?t=81441 -->
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
// Set slideShowSpeed (milliseconds)
var slideShowSpeed = 3000;
// Duration of crossfade (seconds)
var crossFadeDuration = 3;
// Specify the image files
var Pic = new Array();
// to add more images, just continue
// the pattern, adding to the array below
Pic[0] = '1.jpg'
Pic[1] = '2.jpg'
Pic[2] = '3.jpg'
Pic[3] = '4.jpg'
Pic[4] = '5.jpg'
Pic[5] = '6.jpg'
Pic[6] = '7.jpg'
Pic[7] = '8.jpg'
Pic[8] = '9.jpg'
Pic[9] = '10.jpg'
Pic[10] = '11.jpg'
Pic[11] = '12.jpg'
Pic[12] = '13.jpg'
Pic[13] = '14.jpg'
Pic[14] = '15.jpg'
Pic[15] = '16.jpg'
Pic[16] = '17.jpg'
Pic[17] = '18.jpg'
Pic[18] = '19.jpg'
Pic[19] = '20.jpg'
// do not edit anything below this line
var t;
var j = 0;
var p = Pic.length;
var preLoad = new Array();
for (i = 0; i < p; i++) {
preLoad[i] = new Image();
preLoad[i].src = Pic[i];
}
function runSlideShow() {
if (document.all) {
document.images.SlideShow.style.filter="blendTrans(duration=2)";
document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)";
document.images.SlideShow.filters.blendTrans.Apply();
}
document.images.SlideShow.src = preLoad[j].src;
if (document.all) {
document.images.SlideShow.filters.blendTrans.Play();
}
j = j + 1;
if (j > (p - 1)) j = 0;
t = setTimeout('runSlideShow()', slideShowSpeed);
}
// End -->
</script>
인가가 어떤 : 전환 효과 등 그것은 HTML에있어하지만 당신은 내가 확신 코드를 추측 할 수와 - 자신의 홈페이지에
, 나는 기본적인 슬라이드 쇼를 표시하는 데 사용이 코드가 이 전환 코드를 수정하여 모든 전환 효과를 끄고 클릭 할 때 재생을 멈추게하거나 다시 시작하십시오. 그렇지 않으면 다른 코드에 대한 참조가 도움이됩니다.
감사합니다.
잭
감사합니다. Steve - 사파리와 Firefox에서 작동합니다. 또한 말하자면, 나는 그것을 (변수 값을 변경하는 것만으로) 정말 빨라지게 할 수 있었고, 이제는 클릭 재생을 멈추거나 연주를 시작하기 만하면됩니다. 이 작업을 수행하는 방법에 대한 권장 사항이 있습니까? 클라이언트와 만날 때부터 새로운 코드를 구현하는 것이 아니라 여전히이 코드를 사용할 수 있다면 도움이 될 것입니다. 그러나 필요하다면 다른 것을 조사 할 것입니다. 또한 참조 용으로 - 해당 코드의 어떤 부분이 IE 전용입니까? – Jack
'.filter' 또는'.filters' 코드는 모두 IE에 고유합니다. –
감사합니다 스티브! 그게 많은 도움이됩니다. 저는 이것을 염두에 두겠습니다. jQuery 갤러리를 연구하고 있습니다. 나머지 클라이언트 사이트에서는 구현할 수있는 jQuery를 사용합니다. 그래서 나는 그것을 시도 할 것입니다. 팁 주셔서 감사. – Jack