Science that is a lot of source, better yet host the problem on a page
and send a link. A picture is worth a thousand words, how much is a
demo?
On Dec 21, 1:07 pm, Jason Boyd <[EMAIL PROTECTED]> wrote:
> I'm reposting this with a new subject and description as I've
> identified the problem is with Sortable.create().
>
> I have a container, empty at document load time, to which I
> dynamically add DIV children, and each time then re-call
> Sortable.create() on the container. In IE, when this call is made, the
> styles on the *new* DIV just added suddenly disappear. However no
> error is thrown and the sortable succeeds as expected. Even weirder,
> as soon as I drag the just-added DIV, the styles re-render correctly
> and the bug is gone until the next time a DIV is added.
>
> This is with Scriptaculous 1.8.0, Prototype 1.6.0, IE 7.
>
> The added DIV itself contains 3 DIVs. Text styling is unaffected, but
> oddly, of the 3 child DIVs, one stays visible with its contained text,
> and the other 2 are invisible, even though one of those also contains
> text ("x" indicating this is a delete box).
>
> Hmmm... the two that become invisble both have a cursor style rule
> applied. One of them, the delete box, has an onclick handler attached
> *before* being attached to the document, and the other is the one used
> as the drag handle.
>
> Any thoughts are appreciated.
> -Jason Boyd
>
> Here's all the code that's relevant:
>
> /* javascript code */
>
> var playlistItem = $(document.createElement('div'));
> playlistItem.id = params.mediaID;
> playlistItem.addClassName('playlistItem');
>
> var dragger = $(document.createElement('div'));
> dragger.addClassName('playlistDragger');
>
> var title = $(document.createElement('div'));
> title.addClassName('playlistItemTitle');
> title.update(params.mediaTitle);
> title.onclick = function() {
> PopupPlayer.playItem(params);
> }
>
> var metaData = $(document.createElement('div'));
> metaData.addClassName('playlistItemMetaData');
> metaData.update("Artist, YYY, ...");
>
> var deleteButton = $(document.createElement('div'));
> deleteButton.addClassName('deleteButton');
> deleteButton.update('x');
> deleteButton.onclick = function() {
> PopupPlayer.removeItem(playlistItem.id);
> }
>
> playlistItem.appendChild(dragger);
> playlistItem.appendChild(deleteButton);
> playlistItem.appendChild(title);
> playlistItem.appendChild(metaData);
> $('playlist').appendChild(playlistItem);
>
> // setting timeout to confirm styles only disappear when
> Sortable.create() is called
> setTimeout(function() {
> Sortable.create('playlist', {
> tag:'div',
> only:'playlistItem',
> handle:'playlistDragger'
> });
> }, 1000);
>
> /* and the styles, contained in the HEAD of the page */
>
> #playlist {
> float: right;
> width: 250px;
> height: 400px;
> border: 1px solid #dddddd;}
>
> .playlistItem {
> background-color: white;
> border: 1px solid #aaaaaa;
> margin: 5px;
> min-height: 30px;
> overflow: auto;
> font-variant: small-caps;}
>
> .playlistItemTitle {
> cursor: pointer;
> color: maroon;
> font-weight: bold;}
>
> .playlistItemMetaData {
> font-size: smaller;
> color: #aaaaaa;}
>
> .playlistDragger {
> cursor: move;
> height:50px;
> margin-right: 5px;
> width:15px;
> float:left;
> background-color:#eeeeee;}
>
> .deleteButton {
> cursor: pointer;
> font-size: xx-small;
> margin: 3px;
> float: right;
> width: 10;
> height: 10;
> color: #cccccc;
> border: 1px solid #cccccc;
> text-align: center;
> vertical-align: middle;
>
> }
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Spinoffs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---