Comments (6)
Hi @BranoMatan!
Think it may be a good idea add extend method. Hope this enhance jquery compatibility
related issue: #9
thanks for your feedback!
from jqlite.
Thank you very much for the fast reply.
Apparently, adding the extend method wasn't the last problem I faced when implementing the dotdotdot library into my code. There are several more jQuery's method required for that, and also there is a problem when using jqlite's html method with dotdotdot.
Anyway, instead of bothering you again, I wrote my own dotdotdot function that can be implemented with jqlite:
function dotdotdot(containersToDotdotdot) {
function dotdotdotContainers(containers) {
for (var i = 0; i < containers.length; i++) {
var cntnr = $jq(containers[i]);
cntnr.html('<span>' + cntnr.html().replace(/ /g,'</span> <span>') + '</span>');
var words = Array.prototype.slice.call(cntnr.find("span"), 0).reverse();
var lastw = null;
for (var j = 0; j < words.length; j++) {
var w = $jq(words[j]);
var wbot = w.height() + w.offset().top;
var wleft = w.offset().left;
var wright = wleft + w.width();
if (wbot <= (cntnr.offset().top + cntnr.height()) && wleft >= (cntnr.offset().left) && wright <= (cntnr.offset().left + cntnr.width())) {
lastw = words.length - j - 1;
break;
}
}
cntnr.html(lastw === null || lastw === (words.length - 1) ? cntnr.text() : (cntnr.text().split(' ').slice(0, lastw).join(' ') + '...'));
}
}
if (containersToDotdotdot instanceof Array) {
for (var i = 0; i < containersToDotdotdot.length; i++) {
dotdotdotContainers($jq(containersToDotdotdot[i]));
}
} else {
dotdotdotContainers($jq(containersToDotdotdot));
}
}
As you can see, the input for dotdotdot can be an array of classes/ids or a single class/id.
Hope other users could benefit from that.
Thanks again!!
from jqlite.
Ey @BranoMatan! awesome solution!!
Maybe you can create a VanillaJS plugin than can be wrapped into a jQuery/jqlite plugin (see jq-plugin).
In any case I'll merge extend method, Is a small function and It may be usefull.
Thanks a lot for your feedback and contribution!!
from jqlite.
Good job @BranoMatan !
from jqlite.
ey @BranoMatan ! I'm going to use your code in a proyect of mine, thanks again!!
from jqlite.
@jgermade I'm glad you found this code useful, enjoy! :)
from jqlite.
Related Issues (20)
- add .hide() and .show() function HOT 6
- add the .add() function HOT 3
- adding CSS functionality HOT 3
- add .prev() , .prevAll() , .siblings() functions HOT 4
- binding and unbinding keypress HOT 9
- one() on multiple elements only unbind the activated element HOT 6
- How to use with browserify HOT 6
- Data API should be stored object HOT 3
- Style change event detection HOT 1
- filterDuplicated Error HOT 1
- Re-consider ListDOM'a array-like object implementation HOT 2
- How to avoid collision with Jquery HOT 22
- Adding WrapAll() and unWrap() function HOT 2
- Unbind all listeners of the same event type HOT 10
- considering add dataset, classList polyfills HOT 2
- "hasClass" logic in toggleClass function HOT 3
- classListMethods never declared HOT 1
- TypeError: Cannot read property "prototype" from undefined HOT 4
- Minified jqlite does not work in browser HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jqlite.