Изменить изображение при нажатии кнопки - PullRequest
0 голосов
/ 23 сентября 2011

У меня есть изображение и кнопка на панели.

Когда нажата кнопка, я хочу, чтобы мое изображение было случайно заменено другим изображением на основе массива сохраненных изображений.1004 * Я застрял на реализации функции изменения изображения в кнопке.

Помощь была бы признательна.

Ответы [ 4 ]

1 голос
/ 23 сентября 2011

Вы можете сделать это, используя jQuery:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>

    $(document).ready(function() {
        // Handler for .ready() called.
        var imageList = ['one.png', 'two.png', 'three.png', 'four.png'];

        $('#btn').click(function(){
            var imgName = imageList[Math.floor(Math.random()*imageList.length)];
            $('#image').attr('src', imgName);
        });

    });


</script>

<button id="btn">Click Me</button>
<img id="image" src="someimage.png" />
0 голосов
/ 23 сентября 2011

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

Пример

   new Ext.Panel({
 id:'imagePanel',
     layout: 'card',
     cardSwitchAnimation: 'fade',
items:[
    {html:'<img src="/img1.jpg" />'},
    {html:'<img src="/img2.jpg" />'},
    {html:'<img src="/img3.jpg" />'},
    {html:'<img src="/img4.jpg" />'}
]
    });

И затем, чтобы переключить изображение

Ext.getCmp('imagePanel').setActiveItem(Math.floor(Math.random()*numImages);
0 голосов
/ 23 сентября 2011

Как то так?

<img id = "IM" src = "someImageReference"/>
<button onclick = "changeImage(document.getElementById('IM'))">Change image</button>
<script type = "text/javascript">
function changeImage(image) {
    var images = new Array{"image paths","here"};
    var rand = Math.round(Math.random() * images.length);
    image.src = images[rand];
}
</script>
0 голосов
/ 23 сентября 2011
refToYourImage.onclick = function() {
    refToYourImage.src = arrOfRandomImages[Math.floor(Math.random() * arrOfRandomImages.length)];
}
...