2009-07-31 1 views
7

Мне нужен способ изменения курсора мыши на html-странице. Я знаю, что это можно сделать с помощью css, но мне нужно иметь возможность изменять его во время выполнения, например, например, с кнопками на странице, и когда они нажимаются, они меняют курсор на конкретную графику. Я думаю, что лучший (или только?) Способ сделать это через javascript? Я надеюсь, что есть способ сделать это красиво, что будет работать на всех основных браузерах. Буду очень признателен, если кто-то поможет мне в этом.Изменение курсора мыши на html-странице

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

ответ

6

Спасибо за ответы. Я, наконец, получил его работу. Вот как я это сделал:

<html> 
<head> 
    <script type="text/javascript"> 
     function changeToCursor1(){ 
      document.body.style.cursor="url('cursor1.ani'),url('cursor1.cur'), default"; 
     } 
     function changeToCursor2(){ 
      document.body.style.cursor="url('cursor2.ani'),url('cursor2.cur'), default"; 
     } 
    </script> 
</head> 

<body> 

    <form> 
     <input type="button" value="Change to cursor 1" onclick="changeToCursor1()" /><br> 
     <input type="button" value="Change to cursor 2" onclick="changeToCursor2()" /> 
    </form> 
</body> 

я узнал, что, чтобы заставить его работать в Firefox вы необходимо пройти по крайней мере 2 варианта курсоров, например, cursor = "url ('cursor1.cur'), ​​по умолчанию" Или иначе это не сработает. Кроме того, в Firefox он не работает с ani-курсорами, а только cur. Вот почему я поставил cur после ani. Ани появится в IE, cur в Firefox.

Кто-нибудь знает, можно ли изменить курсор в IE без предупреждения активного-X, и пользователь должен принять его?

-1
//you can set all the normal cursors like this 
someElem.style.cursor = 'progress'; 

Какой специальный курсор вы хотите? ... может быть, есть лучший вариант.

-1
// Get the element you want to change the cursor for 
var el = document.getElementById('yourID'); 

// This image url is relative to the page url 
el.style.cursor="url(pathToImage.png)"; 
1

Это очень просто, если вы хотите сделать это только по ссылкам. Там у вас есть некоторые CSS, как это:

a:hover { cursor: crosshair; } #this is when you mouseover the link 
a:active { cursor: wait; } #this is the moment you click it 

С: активная, не будет работать для других элементов, чем а, вы можете использовать JavaScript, высказанную Prestaul и scunliffe.

1

Использование JQuery:

$('.myButton').click(function(){ 
    $(this).css('cursor', 'url(/url/to/cursor/image)'); 
});