sjwilliams / scrollstory

A jQuery plugin for building scroll-based stories

Home Page:http://sjwilliams.github.io/scrollstory/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Data-generated widgets fail to recognize passed in IDs

sjwilliams opened this issue · comments

_prepItem generates a domID, even if you pass in an id via the content array

$('#container').ScrollStory({
    content: [{hed:'Headline1', id:'myid1'}, {hed, 'Headline2', id: 'myid2'}]
});

_prepItem should probably be something like this:

// use exisiting ID or generate a new one
if ($el.attr('id')) {
    id = $el.attr('id');
} else {
    if (data.id){
        id = data.id;
    } else {
        id = 'scrollStory_story_' + index;
    }

    $el.attr('id', id);
}

I should probably also check that ID is a string and a valid DOM ID string, as its possible that an external data source could have an id column that ends up being passed in, unaware of DOM ID restrictions.

I'd also need to make sure the ID was unique, which is, I believe, the reason I didn't add this feature originally.