Edit in JSFiddle

(function(c) {
    function g(a, b) {
        this.element = a;
        this.options = c.extend({}, h, b);
        this._defaults = h;
        this._name = f;
        this.init()
    }
    var f = "readmore",
        h = {
            speed: 100,
            maxHeight: 200,
            moreLink: '<a href="#">Read more</a>',
            lessLink: '<a href="#">Close</a>'
        };
    g.prototype = {
        init: function() {
            var a = this;
            c(this.element).each(function() {
                var b = c(this),
                    d = b.css("max-height").replace(/[^-\d\.]/g, "") > a.options.maxHeight ? b.css("max-height").replace(/[^-\d\.]/g, "") : a.options.maxHeight;
                "none" != b.css("max-height") && b.css("max-height", "none");
                b.data("boxHeight", b.height());
                if (b.innerHeight() < d) return !0;
                b.after(c(a.options.moreLink).on("click", function(c) {
                    a.openSlider(this, b, c)
                }));
                sliderHeight = d;
                b.css("height", sliderHeight).css("overflow", "hidden")
            })
        },
        openSlider: function(a, b, d) {
            d.preventDefault();
            var e = this;
            d = c(b).data().boxHeight + "px";
            c(b).animate({
                height: d
            }, {
                duration: e.options.speed
            });
            c(a).replaceWith(c(e.options.lessLink).on("click", function(a) {
                e.closeSlider(this, b, a)
            }))
        },
        closeSlider: function(a, b, d) {
            d.preventDefault();
            var e = this;
            c(b).animate({
                height: sliderHeight
            }, {
                duration: e.options.speed
            });
            c(a).replaceWith(c(e.options.moreLink).on("click", function(a) {
                e.openSlider(this, b, a)
            }))
        }
    };
    c.fn[f] = function(a) {
        var b = arguments;
        if (void 0 === a || "object" === typeof a) return this.each(function() {
            c.data(this, "plugin_" + f) || c.data(this, "plugin_" + f, new g(this, a))
        });
        if ("string" === typeof a && "_" !== a[0] && "init" !== a) return this.each(function() {
            var d = c.data(this, "plugin_" + f);
            d instanceof g && "function" === typeof d[a] && d[a].apply(d, Array.prototype.slice.call(b, 1))
        })
    }
})(jQuery); 

$('article').readmore({
  speed: 10,
maxHeight: 113,
moreLink: '<a href="#">続きを読む</a>',
lessLink: '<a href="#">閉じる</a>'
    });

              
 <article class="slide">
    <header><h1>東京</h1></header>

  <p>「東京」の地名は、1868年9月(明治元年(慶応4年)7月)に出された江戸ヲ称シテ東京ト為スノ詔書により、江戸の町奉行支配地域を管轄する東京府が設置されたことに始まる。「東京」の意味合いとしては、「京」が首都を意味することから「東の都」だとする見方や、西の京都に対して「東の京都」だとする見方もある。[要出典]
江戸は東京と称することになったが、読み方については根拠となるような法令が出たわけでもなかった。「とうきやう」(呉音)が正規に使われたが、明治20年代頃までは「とうけい」(漢音)も混在して用いられることも少なくなかった。日刊新聞の発達により人々が情報を共有する機会が広がり、第1期国定国語教科書で「東京」の振り仮名が「トーキョー」と表記され(棒引き仮名遣い)、混在はなくなった。一方、昭和初期までは「東亰」という表記も混用されていた[4]。この「亰」という文字は「京」の俗字である。「亰」を使ったのは、中国の東京(Dongjing、ドンジン)との混同を防ぐためともいわれるが、後に同じ字となった。<img src="http://placehold.jp/300x200.png">
江戸を東京と改称するという構想は、江戸時代後期の経世家である佐藤信淵が文政6年(1823年)に著した『混同秘策』に既に現われており、大久保利通はこれに影響を受けて江戸を東京とする建言をしたという[5][6]。
1889年(明治22年)5月1日には、東京15区を東京府から分立して東京市とした。東京市は1923年(大正12年)の関東大震災によって人口が増加した周辺の町村を合併し、市域は最終的には現在の東京都区部とほぼ同地域となった。1938年(昭和13年)6月に内務省が「東京都制案要綱」発表し、1943年(昭和18年)1月に政府が「東京都制案」を帝国議会に提出し可決されたことを受け、同年7月1日に東京都制が施行され、東京府と東京市は廃止されて東京都が設置された。</p>
  </article>